Генерация одной страницы на сайте занимает не так много времени и процессорных ресурсов вашего хостинга. Когда страниц много и пользователи, в среднем, открывают их через равные промежутки времени, то нагрузка просто равномерно распределяется и мало чем отличается от генерации одной единственной страницы. Если же пользователей становится очень много, они просматривают страницы в совершенно случайном порядке, зачастую одновременно несколько пользователей запрашивают одну и ту же страницу, то ситуация ухудшается прямо пропорционально количеству пользователей — чем больше одновременных обращений, тем больше запросов идет к базе данных и тем медленнее они обрабатываются.
В целом, когда несколько пользователей хотят просмотреть одну и ту же страницу, то они ожидают увидеть на этой странице одно и то же. Тогда возникает вполне закономерный вопрос, зачем каждый раз генерировать одну и ту же страницу, если на ней ничего не изменилось? Именно эта концепция лежит в основе кэширования — механизма, позволяющего сохранять результат генерации страницы и выдавать его вместо повторной генерации. Такая простая схема позволяет сэкономить заметное количество ресурсов вашего сервера. Почти все современные системы управления содержимым содержат в себе встроенные инструменты для реализации функций кэширования. Рассмотрим, как их включить и настроить в WordPress, Joomla и CakePHP.
Joomla
Опции кэширования включаются в админке в разделе Глобальная конфигурация — кэш (для Joomla 1.0)
В Joomla 1.5 это же самое можно найти в админке в разделе Настройки — Система — Кэширование
Для работы кэша необходимо, чтобы директория для его хранения была доступна для записи. Обычно, это проверяется еще на этапе установки движка и если у вас не было никаких проблем с загрузкой картинок или публикацией материалов, то и с кэшем скорее всего не будет.
WordPress
WordPress имеет как встроенные, так и сторонние средства кэширования. Чаще всего для кэширования используется плагин WP Super Cache, который можно скачать из хранилища плагинов WordPress. Для активизации кэширования в WordPress нужно установить плагин и активировать его со страницы управления плагином — Настройки — WP Super Cache
Так как CakePHP — только фреймворк, хоть и с большими возможностями, ждать графического интерфейса для управления ядром всей системы не приходится, поэтому придется отредактировать некоторые конфигурационные файлы.
Нам потребуется файл /app/config/core.php. Находим в нем следующие строки:
[sourcecode]/**
* Turn off all caching application-wide.
*
*/
Configure::write(‘Cache.disable’, true);[/sourcecode]
Раскомментируем строку и ставим false в параметр Cache.disable.
Итог
Кэш — это хорошо, нагрузка на ресурсы сервера снижается многократно, но и за это приходится платить. И здесь возникает закономерный вопрос — ну чем же теперь? Ответ прост — оперативностью. Раньше, когда страницы генерировались на лету, каждый раз брались самые последние, оперативные данные, при использовании кэша перед повторной генерации страницы проходит некоторое время, что может негативно сказываться на ее контенте — данные не обновляются оперативно, например, запаздывают комментарии. Если сайт наполнен по большей части статичными данными — то разницы не будет даже заметно, зато будет значительный выигрыш производительности.