WordPress и Memcached на FreeBSD

Поработав с eAccelerator, удалось снизить генерацию. Но количество запросов к БД у WordPress все-таки огромно. Об этом я уже писал в статье об оптимизации всеми нами любимого WordPress. Для того, чтобы снизить количество запросов к базе нужен memcached. Memcached-сервер позволяет кешировать часть запросов к БД и тем самым снижает нагрузку на нее. К примеру, из 25 запросов на главной у меня осталось 3. Имейте ввиду, что данный мануал применителен только к серверам на базе Free BSD.

Для того, чтобы заставить работать wordpress с memcached требуется наличие VPS сервера на FreeBSD, либо сервера memcached у хостера (у Jino такое встречал).


Для начала поставим простенький код для замера количества запросов и генерации. Вписываем его в любое удобное место. У меня, к примеру, он находится в footer.php темы и отображается после счетчика Майла.

<?php echo get_num_queries(); ?> запросов в БД.
Генерация <?php timer_stop(1); ?> секунд.

Из портов через Putty ставим Memcached:

# cd /usr/ports/databases/memcached
# make install clean

Открываем файл rс.conf по пути etc/rс.conf и вписываем туда следующее:

memcached_enable="YES"
memcached_flags="-l 127.0.0.1 -m 64"

Имейте ввиду, что цифра 64 в этом коде, это количество оперативной памяти выделяемой под кеш-сервер Memcached. Не устанавливайте его больше, чем у вас имеется на VPS.

Затем ставим расширение memcache для php:

# cd /usr/ports/databases/pecl-memcache
# make install clean

Открываем файл extensions.ini по пути /usr/local/etc/php/extensions.ini и вписываем:

extension=memcache.so

Открываем папку с нашим WordPress.
Вписываем в wp-config.php следующий код:

$memcached_servers="127.0.0.1:11211"

Затем скачиваем архив и распаковываем его в папку wp-content. Файлы должны лежать именно в wp-content!!! Это плагины для работы с мемкеш-сервером. Замечу, что корректная работа плагинов возможна лишь в случае, если на папке wp-content стоят права 777 или 755.

Перезапускаем сервер и смотрим на заветные цифры на счетчике запросов и генерации. Замечу, что кеширование с помощью Memcached никак не влияет на скорость генерации. Мемкеш сервер помогает лишь закешировать запросы к БД.
Любое отклонение от инструкции может привести к падению вашего сервера. Более подробно о дальнейшей настройке VPS сервера здесь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *