Wordpress Cache

Производительность веб-сервера резко падает при использовании динамических страниц, и часто наблюдается так называемый digg-эффект, который заключается в отказе обслуживания от перегрузки сервера. Именно поэтому в WordPress применяются плагины, реализующие различные способы кэширования информации.

Существует два способа кэширования: во-первых, это кэширование запросов базы данных и объектов и во-вторых, это кэширование всей страницы. У каждого метода есть свои достоинства и недостатки и каждый метод имеет право на жизнь.

Первый способ кэширования снижает нагрузку на сервер путем занесения в кеш запросов к базе данных или отдельных объектов страницы, для генерации результата все так же используется PHP, поэтому серьезных нагрузок данный метод не выдерживает.

Второй способ фактически генерирует статически страницы, которые в дальнейшем отдаются пользователю. Для примера: в скринкасте про Rails приводился пример производительности веб-сервера Mongrel (динамические страницы) и Apache (статические страницы), так вот в случае Mongrel максимальная производительность соответствует порядка 20-50 запросам в секунду, в то время, как Apache позволяет обработать уже свыше 1000 запросов в секунду. Разница просто колоссальная!

Как реализовать статические страницы в WordPress?? Конечно с помощью плагинов.

  1. WP Super Cache — в некоторых сборках поставляется по умолчанию, позволяет генерировать статические страницы и отдавать их пользователю без обращения к PHP.
  2. Hyper Cache — более простая реализация кэширования.
  3. W3 Total Cache — новое слово в кэшировании. Поддерживает сжатие скриптов, CSS, кэш для базы данных, работу с CDN и многое другое.
  4. MaxSite Cache — отечественная разработка, при этом платная. По словам автора является лидером среди кэширующих плагинов.

Владимир проводил тестирование данных плагинов и выложил их на своем блоге blog.sjinks.pro. Он показал себя как человека, очень хорошо разбирающимся в PHP, но результаты тестов очень сомнительны. Сомнительны потому, что в коментах возникло обсуждение эффективности данных плагинов между Владимиром и Максом, автором MaxSite Cache. Оба указывали на использование PHP в плагине WP Super Cache и MaxSite Cache, Макс почему то упорно твердил, что Super Cache в любом случае использует скрипты при обращении к странице, а его скрипт генерирует настоящие статически страницы.

При этом он почему то не учитывает того факта, что Super Cache так же генерирует статические страницы и хранит их на диске, а при обращении к сайту происходит отдача именно статической страницы в обход PHP. О чем указывается на офстранице плагина WP Super Cache. При этом, там же приведены примеры сайтов, которые пережили digg-эффект как раз за счет данного плагина.

Но наибольший интерес представляет плагин Realy Static, который позволяет как Movable Type создать статическую копию сайта WordPress, с возможностью использования динамических функций блога, таких как оставления комментариев. Установка и настройка данного плагина пока еще не тривиальная, мне пришлось несколько часов убить, для того, чтобы тестовый сайт нормально конвертировать в статический. В итоге добился результата и коменты прекрасно добавлялись. Однако тут же выяснилось, что плагин имеет недостатки. Которые проявляются в том, что если оставлять комментарий, обновляется только одна статическая страница, страница самой записи, все остальные страницы, которые ссылаются на нее, не изменяются и будут показывать то количество комментариев, которое было до публикации. А обновлять все страницы блога каждый день руками – это не выход из положения. Надеюсь, автор плагина исправит это в ближайшее будущее.

Если сравнивать по производительности, а я могу сравнивать только время отдачи страницы сервером, то после публикации и использования статических страниц, скорость отдачи страницы клиенту возрастает в два раза. Какую максимальную нагрузку будет держать сервер при использовании данного плагина можно только предполагать, но судя по всему, это будет нечто!

Похожие записи:

  1. wordpress плагины моего блога…
  2. Оптимизация Wordpress
  3. WordPress & Amazon
  4. обновление плагинов wordpress
  5. wordpress: gzip сжатие

Метки: , ,

Отзывов (8) на «Wordpress Cache»

  • Денис, у меня возникла проблема с Realy Static, я тоже убил ночь на его настройку, слишком мало информации от автора плагина. В итоге статика создается отлично, но почему-то начали появляться двойные слеши в ссылках на странице, типа site.ru//index.html, притом если я сбрасываю весь кеш и генерирую его снова, слешей становится уже не два, а три! А потом четыре, пять, и так далее! Спасает только удаление всех статических файлов. Если вы сталкивались со схожей проблемой, прошу дать совет по решению.

  • Нет, с подобной проблемой я не сталкивался, даже не могу подсказать, в чем причина такого странного поведения.
    От использования плагина я отказался по причине того, что если оставляют комментарий, происходит повторная генерация только одной статической страницы. Информация на других страницах, например главная, архивы, в которых должно отображаться количество коментов, остаются без изменения. Приходиться периодически заново генерировать весь кеш, во избежания подобных колизий.
    Само оптимальное решение – это использование движка, который генерирует именно статические страницы, которые в дальнейшем отдаются апачем. Я выбрал Movable Type, разберусь только с рисованием шкурки, нарисую и буду производить перенос сайта на новый движок.

  • Нет ли у вас русского мануала по установке Realy Static? Хочу его попробовать, но как поставить и настроить не знаю, т.к. английским не владею…

  • Нет, мануала у меня нет. И к тому же я не рекомендую его ставить. Эксперимент который провел показал, что он еще не доработан.
    И проблема заключается в том, что плагин не обновляет другие страницы при появлении комментариев, со временем получается очень разнородная информация.
    По сути wordpress и не предназначен для работы в таком режиме. Если вам нужен движок, который генерирует статичные страницы, посмотрите в сторону Movable Type, есть документация на русском языке и всегда помогут на movable-type.ru

  • Предлагаю включить в обзор бесплатный скрипт кэширования http://centavrus-opti.ru/skript-keshirovaniya-dlya-wordpress.html

  • Спасибо! Будет время, потестирую.

  • а вы не рассматривали плагин 1blogcacher? есть ли у него реальные достоинства?

  • Нет, не рассматривал. Пришел к выводу, что незачем мучиться выбором кеширующего плагина, если есть WP Super Cache.
    Он позволяет выдержать довольно серьезную нагрузку на сервер, а если не будет справляться, значит просто пора менять хостера или переходить на VPS.

Вы можете оставить свой комментарий...

Имя (required)
Почта (обязательно)
Сайт