SJ Object Cache: еще более быстрое объектное кэширование для WordPress
Делаем WordPress еще быстрее
После года тестирования наконец-то вышла первая стабильная версия плагина SJ Object Cache.
SJ Object Cache — альтернатива плагину WP File Cache, поддерживающая APC, eAccelerator, xCache, Zend Disk Cache и Zend Shared Memory Cache.
В отличие от WP File Cache, SJ Object Cache ориентирован на VPS/VDS и выделенные сервера.
Одним из недостатков WP File Cache является то, что он смещает нагрузку с базы данных на файловую систему. Хотя это может быть не сильно критично для хорошего shared-хостинга, на виртуальных серверах и серверах со слабой дисковой подсистемой это может быть критично (виртуализация очень часто негативно сказывается на скорости ввода/вывода, в результате процессор может проводить много времени в ожидании окончания ввода/вывода). Вдобавок ко всему при включённом open_basedir файловые операции осуществляются медленнее из-за лишних проверок (привет всем, использующим Plesk).
Решением данной проблемы является использование разделяемой памяти (shared memory). Так как многие администраторы для повышения производительности ставят на выделенных серверах акселераторы (APC, xCache, eAccelerator), SJ Object Cache использует их интерфейс (API) для работы с выделенной памятью.
Функциональность SJ Object Cache
- реализация долговременного кэширования на уровне запросов;
- возможность отключения кэширования (в том числе и встроенного в WordPress);
- возможность отключения межсессионного кэширования;
- полная совместимость с интерфейсом класса WP_Object_Cache WordPress;
- использование памяти под сессионный кэш для увеличения производительности;
- сессионное кэширование часто изменяющихся объектов;
- возможность задания групп, не подлежащих межсессионному кэшированию (может быть полезно для обеспечения совместимости со сторонними плагинами);
- модульная архитектура, позволяющая добавлять новые кэширующие движки;
- хранение настроек в коде плагина.
Кэширующие движки
- Base Cache — аналог объектного кэша WordPress без возможности сохранения данных между сессиями; по тестам показывает чуть большую производительность, чем встроенный в WordPress кэш;
- Alternative PHP Cache (APC);
- eAccelerator (внимание: eAccelerator 0.9.6 не поддерживается, так как из него убрали функции кэширования пользовательских данных);
- xCache
- Zend Disk/Shared Memory Cache (данный движок не тестировался, но работать должен);
- File Cache — модифицированная версия движка WP File Cache;
- File Group Cache — модифицированная версия File Cache, оптимизированная под слабую дисковую подсистему (при доступе к кэшу читается сразу вся группа, что приводит к минимизации числа обращений к диску и увеличению объема потребляемой памяти).
Замечания по установке
Плагину при активации/сохранении настроек должен быть доступен на запись каталог wp-content: в него копируется файл object-cache.php.
В настройках акселератора (APC, eAccelerator, xCache) нужно отвести достаточно места под пользовательский кэш. WordPress весьма прожорлив!
Настройки, контролирующие размер кэша APC: apc.shm_segments, apc.shm_size.
Настройки, контролирующие размер кэша xCache: xcache.var_size. xCache — единственный из трёх рассматриваемых акселераторов, имеющий раздельные кэши для опкода и пользовательских данных.
Настройки, контролирующие размер кэша eAccelerator: eaccelerator.shm_size.
Для APC и eAccelerator размер кэша должен учитывать кэш опкода. По скромным подсчётам, WordPress 2.9.2 без плагинов (PHP 5.1.22, amd-64) занимает порядка десяти мегабайт. Для настройки размера кэша очень рекомендую воспользоваться утилитами, входящими в дистрибутив акселератора: они позволяют оценить объем занятой памяти, фрагментации кэша и просматривать различную статистику. Если с первого раза оптимальный размер кэша подобрать не удаётся, это нормально
На данном сервере (пять разных WordPress с разным наборов плагинов (SJ Object Cache настроен на трёх из них), два Simple Forum, куча всего по мелочи, кэш eAccelerator для хранения сессий) размер кэша колеблется в пределах 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, кэш, плагинМарт
2010
Комментарии к статье «SJ Object Cache: еще более быстрое объектное кэширование для WordPress» (74) »
Оставить комментарий к записи «SJ Object Cache: еще более быстрое объектное кэширование для WordPress»
Вы должны быть авторизованы, чтобы иметь возможность оставить комментарий.

Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.






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