Тест относительный. Призван выявить различия в производительности Drupal с выключенным и включенным кэшированием и с разными уровнями кэширования.
Площадка (девелоперская машина):
- CPU - AMD64x2 4400
- MEM - 2 GB- DDR2 800 Mh DC
- HD - WD 2500 SATA2
- OC Kubuntu 7.10
- Server software - Apache/2.2.4 mod_python/3.3.1 PHP/5.2.3-1 mod_ruby/1.2.6 mod_perl/2.0.2
ПО для тестирования:
- ab - «Apache HTTP server benchmarking tool»
- «Голая» установка Drupal 5.7
Тест — прогонка определенного количества запросов к серверу, с установленной CMF и оценка среднего времени, на выполнение одного запроса.
Итак...
Прогонка ab -n 1000 -c 20 http://localhost/?q=node/1 (node/1 — содержит текст «сайт закрыт»)
Среднее время на выполнение одного запроса - 62.177 мс после трех прогонов. (субъективно — машина заметно притормаживает)
Прогонка ab -n 1000 -c 20 http://localhost/?q=node/1 с включенным кэшированием в нормальном режиме. (Минимальное время жизни кеша, установлено в 5 мин.)
Среднее время на выполнение одного запроса - 5.107 мс!
Ощутимая разница! Больше чем в 10 раз!
Теперь то же самое, с агрессивным кэшированием.
Среднее время на выполнение одного запроса - 4.4 мс.
Не большой прирост, но все же он есть.
Вывод:
Не смотря на то, что тест весьма относительный, можно с уверенностью говорить, что включение кэширования, на сайте под управлением Drupal, способно существенно, снизить нагрузки на сервер и повысить скорость работы сайта.
Комментарии
Стоить проверить производительность без кэширования, но для анонима и для зареганого пользователя отдельно.
По моему опыту, такое ощущение, что даже если кэш не включен, он все равно работает для анонимов.
Ну вы братцы разошлись....
Такой цели и не ставилось. Цель была выявить разницу в нагрузке на сарвер, при включенном и выключенном кэшировании. Разницу относительную... субъективно. Но раз интересно, то ...
... ок. Сделаю новый тест. Но уже с учетом всех мнений, погоняю сервер по полной. С использованием разных инструментов и методов имитации пользовательской активности.
У меня так и есть - весь PHP приходится на Admin'e проверять, ананиму по часу изменения не видны.
такой тест имеет смысл если бы в базе было 3000-5000 нод. а так бред.
я собираюсь со своим кешем тест комбинировать. голое ab -- это фигня. Это тест на пустой незагруженной базе - и по любому значения на порядок да завышены будут
Я сделаю отработчики php которые будут серией запросов изображать добавление удаление контента.
Добавление комментариев. например 2 раза в секунду в паре тройке статей.
Воот. При этом происходят локи таблиц. При этом происходит сброс кеша - причем неднократный.
топикстартер это не учитывает.
И на фоне "имитации забивания" данных в базу пущу ab.
С агрессивным кешем прирост будет бааальшой для анонимов. по причине того что там не происходит сброс кеша страниц какое то время и анонимусы видят старье.. только и всего.
Ilia1st , Интересно было бы посмотреть результаты, причем в сравнении со стандартным Друпаловским кешем. Обнародуйте, когда получите, пожалуйста.
А что это были за запросы к серверу? Они полностью имитировали активный доступ к ресурсу толпы пользователей?
Раскройте тему, пожалуйста.
А ноды и термины можно автоматически генерить с помощью модуля devel.
Хоть 10 тыщь сразу.
Еще было бы очень интересно узнать как влияют на производительность CCK и Views.
Ждем с нетерпением результатов.