Поспорил с Халидом Байахедином на drupal.org и решил провести свои бенчмарки на Amd Turion 1800 MHz, 1 гигабайт оперативной памяти. Drupal 5.6 c вбитыми тестовыми данными. 100 статей. Не суть важно при загрузке титульной страницы. Итак. параметры запуска: ab -c 30 -t 60 http://localhost/
Результаты с кешем на файлах(Results with file cache module):
Concurrency Level: 30 Time taken for tests: 60.46221 seconds Complete requests: 8716 Failed requests: 2 (Connect: 0, Length: 2, Exceptions: 0) Write errors: 0 Non-2xx responses: 2 Total transferred: 149757167 bytes HTML transferred: 145637994 bytes Requests per second: 145.15 [#/sec] (mean) Time per request: 206.676 [ms] (mean) Time per request: 6.889 [ms] (mean, across all concurrent requests) Transfer rate: 2435.57 [Kbytes/sec] received
Результаты с кешем на базе данных(Results with cache in MySQL):
Concurrency Level: 30 Time taken for tests: 60.6133 seconds Complete requests: 7864 Failed requests: 4743 (Connect: 0, Length: 4743, Exceptions: 0) Write errors: 0 Non-2xx responses: 2 Total transferred: 134764170 bytes HTML transferred: 131049365 bytes Requests per second: 131.05 [#/sec] (mean) Time per request: 228.915 [ms] (mean) Time per request: 7.630 [ms] (mean, across all concurrent requests) Transfer rate: 2193.19 [Kbytes/sec] received
Ну чего. У меня чувство что любят лукавить члены ассоциации друпала. Мой кеш работает быстрее.
Поделиться
Комментарии
Complete requests:
Complete requests: 7864
Failed requests: 4743
(Connect: 0, Length: 4743, Exceptions: 0)
Походу кешак друпала сдыхает на блокировках таблиц? :) В общем весело.
Вывод - кеш на базе - порнография.
Я надеялся
Я надеялся увидеть тут прорыв в скорости, а так... некчемное преимущество, вы не пожалели о том, что зря старались?
эм.... А вы
эм.... А вы просто посмотрите что происходит при удалении нескольких десятков тыщ записей когда одновременно 10 пользователей пишут коммент. что происходит с базой? вы посмотрите на нутро cache_clear_all() :)
В данном случае все почти одинаково. однако у меня на сервере планируется развмещение пары нагруженнных проектов. соответсвенно БД будет напрягаться. Наверно, легче из файла поднять данные?
Можно двойной бенч написать с jmeter - чтобы постить одновременно хотя бы комменты - или эмулировать такую нагрузку и посмотреть что будет быстрее. Я уверен, что мой кеш тут себя покажет лучшим образом.
А еще посмотрите число невыполненных запросов при использовании кеша на базе. Это что? блокировки роль сыграли? :)
Failed requests: 4743(Connect: 0, Length: 4743, Exceptions: 0)
А что будет на нагрузке пользователями? :)
Представьте как они будут получать отлупы? Вернутся они потом на сайт? :)
В общем - мой вывод - кеш на базе - дрянь. А вы можете думать что хотите. Я плясал от задачи.