Файловый кеш - хорошо это или плохо?

Трюки с LiveStreet
Периодически можно встретить жаркие споры, увеличивает ли движка файловый кеш в ЛС:


$config['sys']['cache']['use']    = true;               // использовать кеширование или нет
$config['sys']['cache']['type']   = 'file';             // тип кеширования: file и memory. memory использует мемкеш


Можно ответить следующим образом: файловый кеш дает прирост производительности только в том случае, если у вас:

  • на сайте очень много опубликовано контента (топики + комментарии). Например, топиков несколько тысяч и комментариев в каждом топике не меньше сотни
  • если у вас большая посещаемость сайта (от 1000 уникальных посетителей в день), которые создают нагрузку

Только в этих случаях использование файлового кеширования рекомендовано, т.к. при вышеуказанных условиях на БД дается значительная нагрузка и она начинает работать медленнее нежели файловые операции.

В других случаях БД отрабатывает операции быстрее чем считывание файлов с диска и поэтому среднестатистически файловый кеш на молодых сайтах является тормозом. Я говорю «среднестатистически» т.к. одну загрузку страницы он может быть таким же быстрым как и работа с БД, переход на страницу — и вот уже время загрузки сильно увеличилось.

Конечно выше написанное в полной мере характерно для shared хостинга или vps. Если у вас собственный сервер, то тогда в зависимости от его настроек и файловый кеш может быть быстрым, если параллельно на сервере ничего больше не стоит.
1 комментарий
Gmugra
Не все так просто. БД в конечном итоге это тоже море файловых операций и весь вопрос упирается в особенности конфигурации и железа. Если БД, например, работает в условиях нехватки оперативной памяти (как на моём тестовом ноутбуке 2004 года выпуска :) ), то файловый кэш будет давать выигрыш всегда.

Кроме того файловая система, сама по себе тоже имеет скорость и поддаётся неслабому тюнингу особенно на Nix-ах. (и кстати тюнинг файловых разделов для файлов БД это одна очень полезных практик) А ещё можно же и RAM-диск под это прикрутить :)

Вообщем, я не согласен. Зависит :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.