WP Super Cache vs MaxSite Cache: часть 1
Тест страничных кэшей на виртуальном сервере абсолютного чайника
После того, как MAX’у не понравился тест с участием MaxSite Cache, я решил несколько видоизменить методику тестирования.
На этот раз я тестировал только два кэша: WP Super Cache и MaxSite Cache Lite.
Так как по словам MAX’а в реальности все ставится «из коробки»
, я взял виртуальный сервер (512 MiB RAM, 10 GB HD, Intel Xeon X3320 (1 ядро), 2.5 GHz), на который поставил Ubuntu 8.04 LTS Server Edition. Затем поставил Apache (2.2.8-1ubuntu0), PHP (5.2.4-2ubuntu5.6) и MySQL (5.0.51a-3ubuntu5.4). Конфигурационные файлы брались «из коробки» (только для Apache пришлось включить mod_rewrite), в системной конфигурации абсолютно ничего не менялось. VDS абсолютного «чайника». Для мониторинга ресурсов системы установил munin (он рисует такие красивые графики).
Кому интересно, VDS конфигурировался так:
VBoxManage registerimage dvd /home/user1/ubuntu-8.04.3-server-i386.iso
VBoxManage createhd --filename TestVDS-HD1 --size 10240 --remember
VBoxManage createvm --name TestVDS --register
VBoxManage modifyvm TestVDS \
--ostype Ubuntu \
--memory 512 --vram 1 \
--acpi on --ioapic off --pae off --hwvirtex on --nestedpaging on \
--boot1 dvd \
--sata on --sataport1 TestVDS-HD1 \
--dvd /home/user1/ubuntu-8.04.3-server-i386.iso \
--floppy disabled \
--nic1 nat \
--audio none
VBoxManage setextradata TestVDS "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/Protocol" TCP
VBoxManage setextradata TestVDS "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/GuestPort" 80
VBoxManage setextradata TestVDS "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/HostPort" 8080
Затем я поставил WordPress 2.8.5 с официального сайта, импортировал в блог порядка 800 статей среднего размера (авторство статей не моё, так что выложить не могу).
Вместо Apache Bench я использовал Siege, обращение производилось ко всем страницам сайта в случайном порядке (вероятность обращения к заданной странице задавалась количеством её повторений в файле с адресами). Тестирование каждого варианта (WP Super Cache и MaxSite Cache) проводилось по 45 минут — 30 минут при низкой нагрузке и 15 минут при высокой (увы, трафик не безлимитный, и раскидываться гигабайтами трафика для теста возможности пока нет). Это имитировало постепенный наплыв пользователей на сайт. Специфика теста такова, что новый запрос не выполнялся до тех пор, пока не завершался предыдущий.
Одновременно к страницам обращалось 30 пользователей (Apache просто больше не выдерживает). Между тестами системе перезагружалась (на всякий случай). Виртуальный сервер и сервер, с которого осуществлялось тестирование, были, естественно, разными; соединены гигабитным каналом.
Результаты получились очень интересными: MaxSite Cache Lite строит кэш несколько быстрее, чем WP Super Cache (у MaxSite Cache более простая логика работы). WP Super Cache создаёт более сильную нагрузку на диск (так как файлы разбрасываются по множеству каталогов, а не кидаются в один) и, за счёт этого, чуть большую нагрузку на процессор (если сравнивать по значению idle time). Но при этом у WP Super Cache больший коэффициент параллельности (обслуживает большее число запросов одновременно).
Но при отдаче кэша и с повышением нагрузки результат меняется: WP Super Cache отдаёт данные быстрее и, как результат, обслуживает большее количество клиентов. Потребление памяти при этом чуть меньше, но загрузка процессора чуть больше. Вообще картину очень сильно портил munin — нагрузка, им создаваемая, вносила существенные погрешности в измерения (было видно в top).
| WP Super Cache | MaxSite Cache | |
|---|---|---|
| Количество транзакций | 91,755 | 95,028 |
| Объём данных, МБ | 2,160.51 | 2,240.59 |
| Среднее время ответа, с | 0.05 | 0.04 |
| Частота транзакций в секунду | 50.97 | 52.79 |
| Пропускная способность, МБ/с | 1.20 | 1.24 |
| Коэффициент параллельности | 2.58 | 2.21 |
| Максимальная длина транзакции, с | 20.93 | 19.10 |
| Минимальная длина транзакции, с | 0.00 | 0.00 |
| WP Super Cache | MaxSite Cache | |
|---|---|---|
| Количество транзакций | 219,761 | 206,949 |
| Объём данных, МБ | 5,129.06 | 4,880.30 |
| Среднее время ответа, с | 0.07 | 0.09 |
| Частота транзакций в секунду | 244.29 | 229.92 |
| Пропускная способность, МБ/с | 5.70 | 5.42 |
| Коэффициент параллельности | 27.89 | 21.58 |
| Максимальная длина транзакции, с | 21.96 | 21.58 |
| Минимальная длина транзакции, с | 0.00 | 0.00 |
Краткие выводы: в плане построения кэша производительность у MaxSite Cache Lite выше, что объясняется простотой его логики. Но при нагрузке и построенном кэше WP Super Cache обладает более высокой производительностью, так как web-сервер способен отдавать закэшированные данные без привлечения PHP. При одинаковом количестве запросов в секунду под нагрузкой WP Super Cache демонстрирует меньшее потребление памяти и нагрузку на процессор. При средней нагрузке на систему оба кэша ведут себя примерно одинаково — разница в потреблении памяти и нагрузке незаметна.
В следующей части: тест WP Super Cache и MaxSite Cache на грамотно настроенном сервере.
Связанные записи
Автор: Vladimir; опубликовано в: WordPress; метки: Apache, benchmark, MaxSite Cache, WordPress, WP Super CacheНоя
2009


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






[...] WP Super Cache vs MaxSite Cache: Part 1 (translation) shows a tight race between Supercache and a plugin called Max Cache Lite, probably because he used Apache this time. [...]
Я немного не понимаю логику работы WP Super Cache. При заходе на сайт через разные барузеры, страничка часто заново генерируется.
Зохожу через хром:
<!-- Dynamic page generated in 1.261 seconds. --><!-- Cached page generated by WP-Super-Cache on 2009-11-25 10:28:10 -->
<!-- Compression = gzip -->
Захожу через мазилу, на туже страницу выдаёт:
<!-- Dynamic page generated in 1.263 seconds. --><!-- Cached page generated by WP-Super-Cache on 2009-11-25 10:39:08 -->
Не понимаю у меня работает плагин, или он только создаёт страницы но при загрузке из кеша их не берёт ?
А какое время жизни кэша стоит?
У Вас в браузере установлены cookies администратора/комментатора?
Время жизни не менял, т.е. стандартные 3600
Кстати да, cookies в первом случае администратора. Тогда наверное этим и объясняется такое поведение. Спасибо.
[...] Вторая часть статьи WP Super Cache vs MaxSite Cache. [...]
[...] [...]