The Apple Geek

Чему ты научился сегодня?

Настройка блога Wordpress на Mac OS X. Часть 3, кеширование

Для быстрой работы блог нужно всячески кешировать. Я использую комбинацию из нескольких способов - кеширование на уровне Wordpress WP Super Cache, на уровне PHP - eAccelerator, Memcached и заодно кеширование запросов MySQL. По крайней мере хуже не становится, а улучшение производительности налицо.

Один из полезнейших плагинов Wordpress - это WP Super Cache. Он из категории “must have”. Настройки:

Есть некоторые проблемы с WPTouch, поэтому нужно отключить кеширование для мобильных устройств:

Список для копирования:

botia_archiveslurpcrawlspideriphoneipodandroiddreamcupcakewebosincognitowebmateoperaminiblackberry9530blackberry9500

Memcached. Я его раньше не использовал, но всегда хотел. Особой эффективности для небольшой нагрузки я не заметил, но он по крайней мере работает. Процесс установки:

$ sudo port install memcached$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.memcached.plist$ sudo port install php5-memcache

И перезапускаем apache.

Статус демона memcached можно посмотреть таким образом:

$ echo stats | nc 127.0.0.1 11211

Для того, чтобы Memcached использовался в Wordpress, ставим плагин WP Memcached Manager. Настройки:

Статус работы:

EAccelerator. Нужен. Однозначно. Теория - на сайте разработчиков. Процесс установки и настройки:

$ sudo port install php5-eaccelerator$ sudo vim /opt/local/var/db/php5/eaccelerator.inieaccelerator.shm_size="16"eaccelerator.cache_dir="/tmp/eaccelerator"eaccelerator.enable="1"eaccelerator.optimizer="1"eaccelerator.check_mtime="1"eaccelerator.debug="0"eaccelerator.filter="*.php"eaccelerator.shm_max="0"eaccelerator.shm_ttl="0"eaccelerator.shm_prune_period="0"eaccelerator.shm_only="0"eaccelerator.compress="1"eaccelerator.compress_level="9"

И перезагружаем apache.

Включаем кеширование запросов в MySQL:

$ sudo vim /etc/my.cnfquery_cache_type = 1query_cache_size = 26214400

И перезагружаем MySQL.

Статус работы:

$ mysql mysqlSHOW STATUS LIKE 'Qcache%';SHOW STATUS LIKE 'Questions%';

И в завершение тестируем быстродействие сайта:

$ ab -n 1000 -c 1 /

Но и это ещё не всё. Продолжим оптимизацию уже на nginx, одно из направлений - выставление Expire для определённых типов файлов, а также компресирование ответов. Продолжение следует.

Comments