Кеширование

Модуль для Drupal cacherouter и оценка его кода изнутри

Изучение модуля cacherouter версии 5.x-1.0-beta4 повергло меня в уныние.
Сама идея - того что разные таблицы кеша drupal стоит хранить каждую по своему - прекрасна. Учитывая специфику данных - что-то удобнее держать в файлах, что-то в памяти, что-то в кеше акселлераторов(APC, eaccelerator).

Однако реализация блокировок - а именно неприемлемая реализация именно для многопоточных систем - повергла меня в шок...
Пример кода из бекенда кеша APC для данного модуля:

/**
   * lock()

Drupal 6-6.2 - ядро неверно работает с кешем

Радует что мы пока все же выжидаем и не начинаем делать сложные проекты на Drupal 6.

Причина этому:
Были обнаружены недочеты в системе меню и системе форм в Drupal засчет которых таблицы cache_form, cache_menu не очищаются, и база данных сайта растет. Что естественно будет влиять и на общее быстродействие да и просто занятое место на сервере.

Кеширование для Drupal 6

Версия для друпал 5 с сайта убрана ввиду нулевой активности русского коммунити в плане прожертвований на развитие проекта. Готова новая версия модуля быстрого кэша на файлах, которая будет развиваться в закрытом виде. Соответсвенно распространяться за деньги.
Для этого будет создан соответсвующий раздел.

Для 6ой версии CMS Drupal готов релиз, работающий на сайтах на данном сервере. Соответсвенно те кто хочет быстрый кеш на файлах, поскольку ваш сайт работает на обычном хостинге, а не на выделенном сервере - вы сможете получить модуль и консультацию по его установке за умеренную плату. Если вам интересен модуль - заявки можете оставить либо здесь, либо написать в форму контактов. Я свяжусь с вами.

Кеширование на файлах, мои бенчмарки

Поспорил с Халидом Байахедином на drupal.org и решил провести свои бенчмарки на Amd Turion 1800 MHz, 1 гигабайт оперативной памяти. Drupal 5.6 c вбитыми тестовыми данными. 100 статей. Не суть важно при загрузке титульной страницы.

Итак. параметры запуска: ab -c 30 -t 60 http://localhost/

Результаты с кешем на файлах(Results with file cache module):

Кеширование на файлах. Версия для заключительного тестирования

Надеюсь, что дальше будет только работа в плане - дать пользователю посмотреть, что у него не так с системой, что кеш не работает. Вроде все. Ждите продолжения - eaccelerator, memcache по вкусу - принцип - аналогичный. UPDATED: если интересно продолжение проекта в виде opensource - на данный момент я буду пользовать его в таком виде как есть В ближайшее время я сделаю отдельный раздел для проекта.

RSS-материал