WP Super Cache vs MaxSite Cache: часть 1

Тест страничных кэшей на виртуальном сервере абсолютного чайника

После того, как MAX’у не понравился тест с участием MaxSite Cache, я решил несколько видоизменить методику тестирования.

На этот раз я тестировал только два кэша: и Lite.

Так как по словам MAX’а в реальности все ставится «из коробки», я взял виртуальный сервер (512 MiB RAM, 10 GB HD, Intel Xeon X3320 (1 ядро), 2.5 GHz), на который поставил Ubuntu 8.04 LTS Server Edition. Затем поставил  (2.2.8-1ubuntu0), PHP (5.2.4-2ubuntu5.6) и MySQL (5.0.51a-3ubuntu5.4). Конфигурационные файлы брались «из коробки» (только для пришлось включить mod_rewrite), в системной конфигурации абсолютно ничего не менялось. VDS абсолютного «чайника». Для мониторинга ресурсов системы установил munin (он рисует такие красивые графики).

Кому интересно, VDS конфигурировался так:

[-]
View Code Bash
wget http://ubuntu-releases.eecs.wsu.edu/hardy/ubuntu-8.04.3-server-i386.iso
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

Затем я поставил  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 на грамотно настроенном сервере.

Автор: ; опубликовано в: WordPress; метки: Apache, benchmark, MaxSite Cache, WordPress, WP Super Cache
14
Ноя
2009

RSS Комментарии к статье «WP Super Cache vs MaxSite Cache: часть 1» (9)  »

  1. [...] 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. [...]

  2. PrizZzrak

    Я немного не понимаю логику работы 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 -->

    Не понимаю у меня работает плагин, или он только создаёт страницы но при загрузке из кеша их не берёт ?

  3. [...] Вторая часть статьи WP Super Cache vs MaxSite Cache. [...]

  4. Получается эти два плагина самые мощные, раз Вы их рассматривали?

Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.

Оставить комментарий к записи «WP Super Cache vs MaxSite Cache: часть 1»

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

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Оставляя комментарий, вы выражаете своё согласие с Правилами комментирования.

Подписаться, не комментируя

गते गते पारगते पारसंगते बोधि स्वाहा