Модуль "OptimizeDB"

Известная проблема на сайтах с Drupal - разрастание таблицы cache_form. В таблице хранятся кэши форм сайта и Drupal не очищает cache_form при выполнении Cron-задач. cache_form может иметь большие размеры, в много раз превышать общий размер всех данных базы данных. Очень часто об этой проблеме владельцы сайтов узнают, когда заканчивается место на диске и начинаются проблемы с сайтом.

Модуль “OptimizeDB” умеет по Cron выполнять очистку таблицы cache_form, операция очистки таблицы является безопасной и даже в случае падения сервера базы данных, проблем на сайте не будет. Также, очистку cache_form можно запускать самостоятельно из админки.

Модуль “OptimizeDB” также умеет оптимизировать таблицы базы данных и выводить их размеры. Оптимизацию таблиц по Cron, выполнять нельзя, так как могут возникнуть проблемы с базой данных, поэтому данная настройка отсутствует. Но, можно настроить уведомления, о необходимости выполнить оптимизацию таблиц. Когда наступит время, на сайте будет отображено сообщение о необходимости выполнить оптимизацию, сообщение можно скрыть или выполнить оптимизацию и сообщение исчезнет.

Если таблицы базы данных вашего сайта работают на движке InnoDB, то необходимо время от времени оптимизировать таблицы. Дело в том, что таблицы могут сильно фрагментироваться в процессе работы и для того чтобы избавится от фрагментации, необходимо выполнять оптимизацию. Подробнее о фрагментации и дефрагментации вы можете прочесть в статье - http://it.sander.su/disk-fragmentation.php.

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

Модуль работает пока только на Drupal 7, с базами данных - MySQL и PgSQL. Перед тем как опубликовать информацию о модуле, он два месяца работал на сайте, никаких проблем с работой сайта не было.

Скачать модуль можно на странице - https://bitbucket.org/sergiypavlenko/optimizedb
Или - https://drupal.org/project/optimizedb

P.S. Не судите строго, первый модуль который показываю всем. Идея создать модуль возникла когда сам столкнулся с проблемой и единого решения проблемы не было.

Коментарів:

2

Коментувати

Увійдіть або зареєструйтесь, щоб додати коментар

Коментарі

А чем не подошел уже существующий DB Maintenance (http://drupal.org/project/db_maintenance)?

Модуль “DB Maintenance” выполняет только оптимизацию, без очистки таблицы cache_form. + Модуль выполняет оптимизацию по Cron, что может привести к нарушению работы сайта.