За день работы сайта таблица cache_menu может разрастись от 0кб до 1,5ГБ (обычно 700мб). Крон срабатывает автоматически каждые 2 часа. Даже если его запускать в ручную то он не чистит эту таблицу. Также если нажать кнопку "очистить кэш" в админке друпала то таблица полностью очищается общий объем БД в phpmyadmin приходит в норму, однако общий объем БД, который можно посмотреть в инфе профиля у хостинга, остается большим (хоть и меньше чем до очистки cache_menu), а уменьшается до вменяемого размера только после оптимизации таблиц. В техподдержке хостинга сказали что разница между тем что видно у них (общий объем БД) и тем что видно в phpmyadmin зависит от того что в phpmyadmin не учитывается объем технической составляющей БД, которая скрыта от пользователя и формируется для повышения быстродействия движка БД. Так вот, возникло подозрение что один из модулей туда складывает(в cache_menu) свои значения криво, не указывая их срок хранения (кстати если выставлять значение хранения кэша в настройках друпала или вовсе отключить его, то оно не меняет ситуацию), в следствии чего БД не чистится автоматом и цепляет к себе еще вагон собственного кэша в технической информации который убирается только через ручную оптимизацию таблиц после очистки cache_menu.
Заходить каждый вечер, чистить в ручную, затем оптимизировать таблицы как-то напрягает. Создать задачу в кроне на принудительную очистку данной таблицы тоже не по фен-шую (ну не должно быть столько мусора в кэше за такой короткий промежуток времени), и к тому же делать оптимизацию БД автоматически чревато потерей самой БД если в этот момент будет затруднена работа phpmyadmin.
Комментарии
Оптимизацию таблиц через db_maintance ? Его можно поставит на автоматическое срабатывание раз в день
Решение есть вот тут:
http://www.drupal.ru/node/81591
Решение дал kolosnitsyn
Там обсуждалось Кеш_форм. Но там одну строчку добавите с кеш_меню и будет Вам щастье!
Написание скрипта который будет чистить кэш или добавление модуля с тойже функцией это лучение симптомов, а не самой болезни. Хочется найти причину и источник дикого количества кэша, а не автоматизировать его удаление.
По вновь открывшимся обстоятельствам дела: похоже, что во всей этой катавасии виноват модуль Book. У меня была одна громадная подшивка - более 5 тыс. статей - как только я ее удалил, так сразу cache_menu стала на 3 порядка меньше и сайт перестал тормозить. Но модифицированный db_maintance все равно не отключаю.
Так что от подшивок надо избавляться, лучше пользоваться таксономией.