Влепил кэш для PHP - Wordpress моментально ускорился - вообще в моём случае получается что PHP является узким местом хотя в интернете частенько натыкаюсь на несколько другие сведения, мол MySQL - это узкое место Wordpress и вообще Wordpress нешибкомасшабируемое приложение, хотя на самом деле из того, что я видел Wordpress вобщем достаточно неплох, а мне приходилось натыкаться на истинных тормозов, написанных на восхваляемом некоторыми маргинальными типапами Ruby, в частности с использованием RoR, вобщем-то не особо шустром фрэймворке.
да, для работы кэша недостаточно сказать apt-get install apc, надо отредактировать файл /etc/php5/conf.d/apc.ini в нём должны быть например ракие строчки:
**extension=apc.so
apc.enabled=1
apc.shm_size=30
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.num_files_hint=1024
apc.shm_segments=1
pac.ttl=7200
apc.user_ttl=7200
**
после этого требуется перезапустить Apache или чего там работает в связке с php (под связкой подразумевается нечто типа mod_php-образное)
У меня скорость передачи данных с сервера возросла с 216 килобайт в секунду до 354 и количество ответов с 6.98 в секунду до 10.4 - не бог весть что, но всё же (это по показаниям утилиты ab с количеством паралельных запросов = 32 и количеством запросов = 10000 на индекс этого сайта).
Ясен пень, что можно например задвинуть в добавок к тому, что есть например, реверс прокси (ncache или squid), что значительно ускорит скорость сайта, однако на этой тачке squid используется несколько по-другому, так что будем выходить из ситуации иначе, есть цель добиться хотябы 1 мегабайта в секунду на индексе сайта, а на моём железе этого сделать сложно, поэтому интересно :) .
Влепил Varnish - теперь количество запросов, обслуживаемых веб-сервером возросло с ~10 до ~2600, а теперь подробности:
во-первых - ложка дёгтя - Varnish использует только 1 процессор
во-вторых - ложка мёда - тут при 100 мегабитах - используется около 5% процессора
далее для установки варниша пришлось перевесить nginx с 0.0.0.0:80 на 127.0.0.1:3080. получилась интересная связка (которая болтается на одном компе) varnish+nginx+apache+apc+php+mysql
конфиг varnish находится по адресу /etc/defaults/varnish и выглядит следующим образом:
cat /etc/default/varnish | grep -v '^$' | grep -v '^#'
NFILES=131072
INSTANCE=$(uname -n)
DAEMON_OPTS="-a :80 \
-T 127.0.0.1:6082 \
-b 127.0.0.1:3080 \
-u varnish -g varnish \
-s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,1G"
и кроме того я раскоментировал всё что было в /etc/varnish/default.vcl
то есть с настройкой varnish я особо не парился
таким образом у меня получился очень хорошо оттюненный backend (если эту цепочку приложений вообще можно назвать backend'ом) и средней паршивости frontend
Дополнено 14 Mar 2009:
Замечание: php - это не самый быстрый язык, однако узким местом в wordpress всё же является MySQL, это выяснилось после некоторых тестов различных настроек этой СУБД.