Тест производительности Drupal 5 - эффективность кэширования

Главные вкладки

Аватар пользователя FrEEz10 FrEEz10 3 февраля 2008 в 3:50

Тест относительный. Призван выявить различия в производительности 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 мс! Shok
Ощутимая разница! Больше чем в 10 раз!

Теперь то же самое, с агрессивным кэшированием.

Среднее время на выполнение одного запроса - 4.4 мс.
Не большой прирост, но все же он есть.

Вывод:
Не смотря на то, что тест весьма относительный, можно с уверенностью говорить, что включение кэширования, на сайте под управлением Drupal, способно существенно, снизить нагрузки на сервер и повысить скорость работы сайта.

Комментарии

Аватар пользователя seaji seaji 3 февраля 2008 в 14:13

Стоить проверить производительность без кэширования, но для анонима и для зареганого пользователя отдельно.
По моему опыту, такое ощущение, что даже если кэш не включен, он все равно работает для анонимов.

Аватар пользователя FrEEz10 FrEEz10 7 февраля 2008 в 4:11

Ну вы братцы разошлись....

Stalker-g2 wrote:
такой тест имеет смысл если бы в базе было 3000-5000 нод. а так бред.

Такой цели и не ставилось. Цель была выявить разницу в нагрузке на сарвер, при включенном и выключенном кэшировании. Разницу относительную... субъективно. Но раз интересно, то ...

seaji wrote:
Стоить проверить производительность без кэширования, но для анонима и для зареганого пользователя отдельно.
.

... ок. Сделаю новый тест. Но уже с учетом всех мнений, погоняю сервер по полной. С использованием разных инструментов и методов имитации пользовательской активности.

Аватар пользователя Ильич Рамирес Санчес Ильич Рамирес Санчес 3 февраля 2008 в 18:49

я собираюсь со своим кешем тест комбинировать. голое ab -- это фигня. Это тест на пустой незагруженной базе - и по любому значения на порядок да завышены будут

Я сделаю отработчики php которые будут серией запросов изображать добавление удаление контента.
Добавление комментариев. например 2 раза в секунду в паре тройке статей.

Воот. При этом происходят локи таблиц. При этом происходит сброс кеша - причем неднократный. Smile
топикстартер это не учитывает.

И на фоне "имитации забивания" данных в базу пущу ab.

С агрессивным кешем прирост будет бааальшой для анонимов. по причине того что там не происходит сброс кеша страниц какое то время и анонимусы видят старье.. только и всего.

Аватар пользователя gorr gorr 4 февраля 2008 в 16:59

Ilia1st , Интересно было бы посмотреть результаты, причем в сравнении со стандартным Друпаловским кешем. Обнародуйте, когда получите, пожалуйста.

Аватар пользователя seaji seaji 7 февраля 2008 в 14:37

А ноды и термины можно автоматически генерить с помощью модуля devel.
Хоть 10 тыщь сразу. Smile

Еще было бы очень интересно узнать как влияют на производительность CCK и Views.

Ждем с нетерпением результатов.