Выбор кэширующего решения максимальной производительности для сайта на php

A
На сайте с 09.08.2004
Offline
82
1266

Имеется высокопосещаемый сайт, написанный на php, с использованием шаблонизатора blitz.

Проблема состоит в выборе кэш-системы для сохранения наиболее популярных страничек.

На рассмотрении находятся следующие решения:

1. Cache_Lite с сохранением кеш-страничек в отдельный каталог

2. Cache_Lite с сохранением кеш-страничек в базу данных Berkeley db4 (надо писать самому)

3. eAccelerator/APC/xache

4. ??? (что-то еще)

Скрипты закодированы Zend-енкодером и соответственно используется Zend optimizer. Требуется выбрать кеш-систему для достижения максимальной производительности web-сервера. Также необходима устойчивость к трудноуловимым ошибкам вроде переполнения таблицы файловых дескрипторов/индексов базы данных/etc.

Все странички обьемом 20-50Кб.

ОС Red Hat Linux 2.4, Apache 2.54, mod_rewrite, PHP 4.3.2, blitz template. MySQL НЕ ИСПОЛЬЗУЕТСЯ, вместо нее Berkeley db4.

Прошу уважаемых форумчан помочь определиться с выбором. Все обоснованные и конструктивные предложения будут с благодарностью приняты и оценены.

Roxis
На сайте с 19.11.2006
Offline
40
#1

memcached

Squid Web Proxy Cache

static files )

Andreyka
На сайте с 19.02.2005
Offline
822
#2
Asher:

Проблема состоит в выборе кэш-системы для сохранения наиболее популярных страничек.


Прошу уважаемых форумчан помочь определиться с выбором. Все обоснованные и конструктивные предложения будут с благодарностью приняты и оценены.

Решение просто до безбразия. ЧПУ там есть? Наверное есть

Ну вот скачиваем и помещаем на сервер статическую страницу. rewrite ее найдет и переписыват запрос на скрипт не будет

Все

Не стоит плодить сущности без необходимости
edogs software
На сайте с 15.12.2005
Offline
775
#3
Andreyka:
Решение просто до безбразия. ЧПУ там есть? Наверное есть
Ну вот скачиваем и помещаем на сервер статическую страницу. rewrite ее найдет и переписыват запрос на скрипт не будет
Все

Или mod_proxy

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
DU
На сайте с 20.10.2006
Offline
105
#4

запись:

 

ob_start();

страница

$cache = ob_get_contents();
ob_end_clean();

if ($fp = @fopen('файдл', 'w')) {

flock($fp, 2);

fputs($fp, serialize($cache));

flock($fp, 3);

fclose($fp);
}


чтение:

 

if ($fp = @fopen('файл', 'r')) {

$text = fread($fp, filesize('файл'));
fclose($fp);

echo unserialize($text);

}
Sergey Petrenko
На сайте с 23.10.2000
Offline
482
#5
Asher:
eAccelerator/APC/xache

Из этого набора у нас лучше всего себя показал XCache. Правда, акселераторы дают эффект тогда, когда скрипты используют их функции.

То же с memcached - чрезвычайно эффективное решение, но его поддержка должна быть в скрипте.

A
На сайте с 09.08.2004
Offline
82
#6

2Dimon-UA: блокировка файлов функциями пхп на мой взгляд не самое удачное решение, могут быть тормоза по сравнению с бд, тем более что в Cache_Lite такая же реализация плюс дополнительные проверки на соответствие кэш-странички.

2Андрейка: ЧПУ там есть, но поскольку mod_rewrite не слабо нагружает процессор (в предыдущей версии сайта) думаю от него все-таки отказаться.

Из этого набора у нас лучше всего себя показал XCache

2Gray: У нас это в смысле на этом форуме или на других проектах?

Я вот посматриваю в сторону хранения кешированных страничек в бд типа Berkeley db4, думается что скорость доступа (к случайно выбранной записи) к сохраненным в такой бд страничках будет выше чем к соответствующему каталогу.

Насчет memcached - в Апаче есть модуль с аналогичными функциями mod_mem_cache, который носит статус Experimental, я как-то довольно давно экспериментировал с ним, правда особого выигрыша не заметил.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий