По поводу лирики о технической эволюции блога только что нашёл заготовки детальной статьи об оптимизации WordPress, которую я писал в апреле, но потом отложил её и не опубликовал.
Не уверен, что выложу её – она требует повторных экспериментов, поэтому приведу выдержки, не подкрепляя их фрагментами конфигурации.
Итак, имеется сервер с Ubuntu Server 10.10. Сервер мощный – 2 x Xeon X5260@3.33GHz, 8 GB RAM, RAID 1 из двух дисков SAS 15K rpm на аппаратном RAID.
Дисковая производительность слабая по состоянию на текущий момент – всего 100 MBps:
$ sudo hdparm -t /dev/cciss/c0d0/dev/cciss/c0d0: Timing buffered disk reads: 294 MB in 3.03 seconds = 96.98 MB/sec
Задача – максимизировать производительность WordPress на этом сервере.
Тесты проводил на сайте с 300 статей, запрашивая домашнюю страницу со 100 конкурентными запросами:
$ ab -n 20000 -c 100 http://benchmark.ctrld.me/
Результаты:
КонфигурацияRequests per secondLoad average Apache, InnoDB, без APC 25.83 110.29 Apache, MYISAM, с APC 120.47 103.54 Apache, INNODB, с APC 118.50 100.43 Apache, InnoDB, APC, W3 Cache (file) 893.14 2.06 Apache, InnoDB, APC, W3 Cache (apc) 907.26 1.04 Apache, InnoDB, APC, W3 Cache (memcached) 893.21 1.09 Nginx + Apache + APC + плагин кеширования 868.17 0.52 Nginx + Apache + APC + плагин кеширования + Nginx Cache 6984.47 0.01
P.S. На данный момент я отказался от Apache, оставил nginx fastcgi_cache, но не использую никаких плагинов кеширования. На повторных обращениях к одной странице выигрыш потрясающий, однако генерация новой страницы занимает сравнительно длительное время. Я решу этот вопрос и сделаю финальную статью. Текущие результаты не привожу, так как мощность тестового сервера и VPS очень разные.