Как бороться с размером базы?

Аватар пользователя rostov rostov 26 апреля 2008 в 9:58

Добрый день!

Очень удивился, когда через месяц работы сайта все место 100Мб на хостинге благополучно закончилось.
Сайт на самом деле небольшой, абсолютно не понятно от чего пухнет база.
Вопросы следующие
- почему растет база так сильно?
- какими способами с этим бороться?

0 Thanks

Комментарии

Аватар пользователя axel axel 26 апреля 2008 в 15:08

Сегментация таблиц. Регулярно производите OPTIMIZE TABLE <tablename>, особенно на таблицы кешей.

Аватар пользователя VladSavitsky VladSavitsky 26 апреля 2008 в 16:22

Сначала сделайте резервную копию!
Также можно удалить содержимое таблиц, которые хранят логи (watchdog), кеш (cache_*).
Если было много действий со строками переводов и/или много модулей были установлены, а затем удалены - чистил таблицы locales_source и locales_target. Они должны быть около 950 Кб и 6500 записей (Друпал 5.7 и около 80 доп. модулей, всего установлено 129 модулей).

Аватар пользователя marazmus marazmus 26 апреля 2008 в 19:19

Еще можно вполне успешно бороться с этим фактом простой сменой хостера. Я искренне и изо-всех сил надеюсь, что когда-нибудь к нам придут зарубежные хостеры, хотя бы в виде выкупа каких-либо ру-хостеров, и все жадные и тупые российские хостеры, которые в 2008 году от Р.Х. все еще выдают своим пользователям ресурсы на уровне 1998 года, канут в лету, а после смерти попадут в ад, где их заставят запускать Друпал в связке с CCK и Views на машине с 640 килбайт памяти, как завещал в свое время великий Гейц.

p.s. И, да, раз уж речь о Р.Х. - Христос воскресе! :)

Аватар пользователя rostov rostov 28 апреля 2008 в 8:21

Всем спасибо за помощь!

Вообщем, заодно решил проадейтить с 6.1 на 6.2. Долго не решался. Прошло все удачно, хотя в логам встречались записи
Duplicate entry 'admin/content/taxonomy/%/add/term' for key 1 query: INSERT INTO menu_router (path, load_functions, to_arg_functions, access_callback, .
После этого размер сократился с 115Мб до 20Мб. Очень порадовало.
Потом залез в phpMyAdmin. Одна таблица вызывала вопросы CACHE_FORM = 18,4Мб.
Сделал для нее (по совету axel)
OPTIMIZE TABLE CACHE_FORM
И собственно теперь вся БД 7,6Мб, таблицы внутри 6,2Мб.

Перевелся на более экономичный тариф на хостинге.

Видимо эти процедуры навешаны на cron. Сейчас буду смотреть.