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 статей среднего размера (авторство статей не моё, так что выложить не могу).

Вместо Bench я использовал Siege, обращение производилось ко всем страницам сайта в случайном порядке (вероятность обращения к заданной странице задавалась количеством её повторений в файле с адресами). Тестирование каждого варианта ( и ) проводилось по 45 минут — 30 минут при низкой нагрузке и 15 минут при высокой (увы, трафик не безлимитный, и раскидываться гигабайтами трафика для теста возможности пока нет). Это имитировало постепенный наплыв пользователей на сайт. Специфика теста такова, что новый запрос не выполнялся до тех пор, пока не завершался предыдущий.

Одновременно к страницам обращалось 30 пользователей ( просто больше не выдерживает). Между тестами системе перезагружалась (на всякий случай). Виртуальный сервер и сервер, с которого осуществлялось тестирование, были, естественно, разными; соединены гигабитным каналом.

Результаты получились очень интересными: Lite строит кэш несколько быстрее, чем более простая логика работы). создаёт более сильную нагрузку на диск (так как файлы разбрасываются по множеству каталогов, а не кидаются в один) и, за счёт этого, чуть большую нагрузку на процессор (если сравнивать по значению idle time). Но при этом у больший коэффициент параллельности (обслуживает большее число запросов одновременно).

Но при отдаче кэша и с повышением нагрузки результат меняется: отдаёт данные быстрее и, как результат, обслуживает большее количество клиентов. Потребление памяти при этом чуть меньше, но загрузка процессора чуть больше. Вообще картину очень сильно портил munin — нагрузка, им создаваемая, вносила существенные погрешности в измерения (было видно в top).

Построение кэша
 
Количество транзакций 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
Использование кэша
 
Количество транзакций 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

Краткие выводы: в плане построения кэша производительность у Lite выше, что объясняется простотой его логики. Но при нагрузке и построенном кэше обладает более высокой производительностью, так как web-сервер способен отдавать закэшированные данные без привлечения PHP. При одинаковом количестве запросов в секунду под нагрузкой демонстрирует меньшее потребление памяти и нагрузку на процессор. При средней нагрузке на систему оба кэша ведут себя примерно одинаково — разница в потреблении памяти и нагрузке незаметна.

В следующей части: тест WP Super Cache и MaxSite Cache на грамотно настроенном сервере.

Добавить в закладки

Связанные записи

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

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

  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 -->

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

    • А какое время жизни кэша стоит?

      У Вас в браузере установлены cookies администратора/комментатора?

      • PrizZzrak

        Время жизни не менял, т.е. стандартные 3600

        • PrizZzrak

          Кстати да, cookies в первом случае администратора. Тогда наверное этим и объясняется такое поведение. Спасибо.

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

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

Вы можете использовать данные тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Изображения должны быть включены!

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

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