SJ Object Cache: еще более быстрое объектное кэширование для WordPress

Делаем WordPress еще быстрее

После года тестирования наконец-то вышла первая стабильная версия плагина .

 — альтернатива плагину , поддерживающая , , , Zend Disk Cache и Zend Shared Memory Cache.
В отличие от , ориентирован на VPS/VDS и выделенные сервера.

Одним из недостатков является то, что он смещает нагрузку с базы данных на файловую систему. Хотя это может быть не сильно критично для хорошего shared-хостинга, на виртуальных серверах и серверах со слабой дисковой подсистемой это может быть критично (виртуализация очень часто негативно сказывается на скорости ввода/вывода, в результате процессор может проводить много времени в ожидании окончания ввода/вывода). Вдобавок ко всему при включённом open_basedir файловые операции осуществляются медленнее из-за лишних проверок (привет всем, использующим Plesk).

Решением данной проблемы является использование разделяемой памяти (shared memory). Так как многие администраторы для повышения производительности ставят на выделенных серверах акселераторы (, , ), использует их интерфейс (API) для работы с выделенной памятью.

Функциональность

  • реализация долговременного кэширования на уровне запросов;
  • возможность отключения кэширования (в том числе и встроенного в );
  • возможность отключения межсессионного кэширования;
  • полная совместимость с интерфейсом класса WP_Object_Cache ;
  • использование памяти под сессионный кэш для увеличения производительности;
  • сессионное кэширование часто изменяющихся объектов;
  • возможность задания групп, не подлежащих межсессионному кэшированию (может быть полезно для обеспечения совместимости со сторонними плагинами);
  • модульная архитектура, позволяющая добавлять новые кэширующие движки;
  • хранение настроек в коде плагина.

Кэширующие движки

  • Base Cache — аналог объектного кэша без возможности сохранения данных между сессиями; по тестам показывает чуть большую производительность, чем встроенный в кэш;
  • Alternative PHP Cache ();
  • eAccelerator (внимание:  0.9.6 не поддерживается, так как из него убрали функции кэширования пользовательских данных);
  • xCache
  • Zend Disk/Shared Memory Cache (данный движок не тестировался, но работать должен);
  • File Cache — модифицированная версия движка ;
  • File Group Cache — модифицированная версия File Cache, оптимизированная под слабую дисковую подсистему (при доступе к кэшу читается сразу вся группа, что приводит к минимизации числа обращений к диску и увеличению объема потребляемой памяти).

Замечания по установке

Плагину при активации/сохранении настроек должен быть доступен на запись каталог wp-content: в него копируется файл object-cache.php.

В настройках акселератора (, , ) нужно отвести достаточно места под пользовательский кэш. весьма прожорлив!

Настройки, контролирующие размер кэша : apc.shm_segments, apc.shm_size.

Настройки, контролирующие размер кэша : xcache.var_size.  — единственный из трёх рассматриваемых акселераторов, имеющий раздельные кэши для опкода и пользовательских данных.

Настройки, контролирующие размер кэша : eaccelerator.shm_size.

Для и размер кэша должен учитывать кэш опкода. По скромным подсчётам,  2.9.2 без плагинов (PHP 5.1.22, amd-64) занимает порядка десяти мегабайт. Для настройки размера кэша очень рекомендую воспользоваться утилитами, входящими в дистрибутив акселератора: они позволяют оценить объем занятой памяти, фрагментации кэша и просматривать различную статистику. Если с первого раза оптимальный размер кэша подобрать не удаётся, это нормально :-)

На данном сервере (пять разных с разным наборов плагинов ( настроен на трёх из них), два Simple Forum, куча всего по мелочи, кэш для хранения сессий) размер кэша колеблется в пределах 128–192 мегабайт. Север выдерживает больше тысячи одновременных посетителей, порядка 100,000 посетителей в сутки и генерирует в среднем 64 гигабайта трафика в сутки — и это безо всяких страничных кэшей типа WP Super Cache, Hyper Cache, W3 Total Cache, MaxSite Cache и т.п. Не без напильника, но тем не менее.

Удаление/деактивация плагина

Для успешной деактивации каталог wp-content должен быть доступен на запись — требуется удаление файла wp-content/object-cache.php.

Скачать SJ Object Cache 1.0.
Экспериментальная версия SJ Object Cache 1.1 с поддержкой WordPress MU.

Добавить в закладки

Связанные записи

Автор: Vladimir; опубликовано в: Плагины WordPress; метки: APC, eAccelerator, SJ Object Cache, WordPress, WP File Cache, xCache, кэш, плагин
8
Март
2010

RSS Комментарии к статье «SJ Object Cache: еще более быстрое объектное кэширование для WordPress» (74)  »

  1. [...] У создателя моего любимого файлового кеша под WP, вышел плагин быстрого объектного кеша, рекомендуется к установки на свои дедики или [...]

Оставить комментарий к записи «SJ Object Cache: еще более быстрое объектное кэширование для WordPress»

Вы должны быть авторизованы, чтобы иметь возможность оставить комментарий.

Подписаться, не комментируя