Как уменьшить размер базы данных?

Главные вкладки

Аватар пользователя kompas kompas 22 января 2009 в 15:07

Ситуация такая, что база данных разрослась до 200 метров, хотя реально я предполагаю, она даожна быть как минимум раз в 10 меньше. Это почему так?????????????

Пошерстил форум, узнал что это может быть из-за кеша, но вроде как чистить его бесполезно, потому что он и так разрастается опять до определеннго размера. Еще наверное различные логи место занимают. Интересно как много???

Объясните плиз кто-нибудь механизм разрастания базы данных и возможно ли настроить движок так, чтобы она не разрасталась сверх ей положенного?

Комментарии

Аватар пользователя Ромка Ромка 22 января 2009 в 15:14

Попробуй почистить таблицы с префиксом cache_ (это может привести к снижению производительности) и таблицу watchdog (это Друпальский лог).

Аватар пользователя alexsm alexsm 22 января 2009 в 17:20

Таблицы с поисковым индексом могут много места занимать, если много материала на сайте и включен модуль поиска.

Аватар пользователя kompas kompas 22 января 2009 в 23:11

Ну, да... размер таблицы

_cache_form

193 МB !!!!!!!!!!

Другие кеши, поисковые и _watchdog по божески по 2-3 мегабайта

Я очень надеюсь, что это тотальное мегакеширование можно как-то отключить, потому что в противном случае мне придется отказаться от друпала. Черт с ней с нагрузкой на сервер - нет такой посещаемости, чтобы над этим задумываться. А вот размер базы у дешевых хостингов, которые я способен оплачивать, имеет очень большое значение.

Помогите, плиз, хелп... как с этим справиться????? Это как удар ножом в спину со стороны друпала. Только только к нему приноравливаться начал Sad

Аватар пользователя kompas kompas 23 января 2009 в 1:43

настройкой крона вот как раз второй час занимаюсь... но чтобы твердо сказать, что он работает, наверное несколько дней на тесты понадобиться...

Знаете, поставил этот модуль http://drupal.org/project/cache_disable

почистил эту злосчастную таблицу, проверил в настройках сайта что кеш отключен, минимальное время жизни кеша стоит 1 час.

Захожу в пхпмайадмин, обновляю разом показатели БД и каждый раз в этой таблице прибавляются новые килобайты. А ВЕДЬ Я НИЧЕГО НЕ ДЕЛАЮ!!!!

Заблочил все, что мог, ну неужели же эту чуму никак невозможно остановить ;(

Аватар пользователя Zga Zga 23 января 2009 в 9:33

ЭЭ не нервничайте так, уважаемый, килобайт килобайту рознь, поставьте модуль poormanscron кажется так, настройте на запуск крона каждый час - этот процесс кроме всего прочего прочищает системные записи, если у вас включено в модулях database logging, он записывает всякие системные события в базу.

Аватар пользователя Krotty@drupal.org Krotty@drupal.org 23 января 2009 в 11:02

Похоже что это баг друпала - ряд таблиц кэша не очишаются от устаревших записей http://drupal.org/node/226728
Вариант решения - чистить эту табличку по крону следуюдей командой:

DELETE FROM cache_form where expire < UNIX_TIMESTAMP(NOW())
Аватар пользователя kompas kompas 23 января 2009 в 23:09

ну, вроде перевожу дух... поставил poormanscron с запуском через час и вот сейчас вечером проверил, там где раньше было 193 мегабайта, стало всего 2

Это значит крон запускает очистку кеша? Интересно которую... ту которая находится в дистрибутиве друпала по умолчанию или cache_disable вдруг заработал?

Кстати, а почему poormanscron называется кроном для бедных, чем он хуже настоящего?

"<a href="mailto:Krotty@drupal.org">Krotty@drupal.org</a>" wrote:
Похоже что это баг друпала - ряд таблиц кэша не очишаются от устаревших записей http://drupal.org/node/226728[/quote]

Я так понял это для 7-го друпала?

Аватар пользователя magway magway 24 января 2009 в 1:21

Запуск крона это обязательное условие для работы друпала, игнорировать его не стоит. Это уже не первый вопрос, возникающий по этой теме. Наверное надо добавить в FAQ, если еще нет.

Аватар пользователя kompas kompas 24 января 2009 в 21:29

Ну нет, медленно, но верно но размер таблицы продолжает расти. Sad То есть я как-то не ощущаю, что она очищается, хотя крон судя по отчетам друпала исправно перезапускается каждый час. Ну как же так, движок рекламируется как наиболее приспосабливаемый и функциональный, а на деле мало того, что намучаешься с настройкой, так еще и на более менее посещаемый и обновляемый сайт, похоже гигабайт базы данных надо. Неужели так трудно было сделать фишечку с реальным отключением кеша ((

Аватар пользователя Geldora Geldora 24 января 2009 в 22:47

Ответ есть на этой странице - я выпросила отрывок из книги Друпал 6 ПроДевелопмент, как раз про то, как можно уменьшить кэш.

У вас проблема, как я понимаю, что крон не чистит "каждый час", но каждый час чистит то, что старше такого-то отрезка времени. Вот можно настроить отрезок времени, чтобы чистилось быстрее Smile

http://drupal.ru/node/23294, комментарий где-то 10-11

Аватар пользователя kompas kompas 25 января 2009 в 1:34

Geldora, ответ я так понимаю это тот, который на английском вперемешку со спецефичискими понятиями друпала? Я бы еще может попробовал в этих иероглифах разобраться, но при чем тут выделенная мне память?

Всё что мне нужно - это вырубить этот чертов кеш либо, сделать так чтобы его таблицы по истечению какого-то срока реально очищались. На данный момент, несмотря ни на какие вспомогательные модули этого не происходит! Что делать, я не знаю... начинаю подумывать о wordpress. Надеюсь он окажется более продуманным, чем сей продукт, хотя блин два проекта уже на друпале стоят Beee

Аватар пользователя kompas kompas 25 января 2009 в 21:07

Похоже тема опять замнётся... до тех пор пока опять кто-нибудь не откроет для себя эту мину замедленного действия Sad

Аватар пользователя kompas kompas 8 февраля 2009 в 3:22

И лично я считаю, что это бага. И достаточно экстремальная! На сайте был один опрос. И при посещаемости 10 человек в день, таблица cache_form росла примерно по полтора метра в день. Отключил модуль полностью (только его), прошло два дня, таблица больше не выросла ни на килобайт...

Аватар пользователя kompas kompas 12 февраля 2009 в 0:23

Конкретизирую, глючит не сам модуль, а его блок... когда его включаешь. Кто нибудь может подсказать хоть куда рыть (какие файлы смотреть)?
По-моему есть два варианта:

1. У блока последнего опроса есть своя собственная таблица кеширования, с кторой он и не справляется

2. cache_form - это когда друпал кеширует какие-то элементы главной страницы сайта и натыкаясь на блок вывода опроса, что-то постоянно перезаписывает

Прошу помощи хотя бы в указании направления действия, а именно откуда поступают данные в таблицу cache_form
Уж на это на форуме официальной русской поддержки drupal я могу рассчитывать?

Аватар пользователя endrus endrus 15 марта 2009 в 21:13

Присоединяюсь к kompas. Я тоже подозреваю блок опроса. Странно ещё то, что некоторые таблицы я не могу очистить (empty) через PHPMyAdmin, включительно со злополучной таблицей cache_form.

Аватар пользователя EllECTRONC EllECTRONC 10 апреля 2009 в 21:44

"kompas" wrote:
Что делать, я не знаю... начинаю подумывать о wordpress. Надеюсь он окажется более продуманным, чем сей продукт,

Вперет, там нет кеширования, главная админки грузится ~2мин — удачи!
По теме:
На странице производительность все кеширование отключено? Какой друпал, какие модули стоят (работают)?
"endrus" wrote:
Странно ещё то, что некоторые таблицы я не могу очистить (empty) через PHPMyAdmin, включительно со злополучной таблицей cache_form.

Вас, видимо, хостер правами обделил.

Аватар пользователя tech-life tech-life 22 апреля 2009 в 0:00

Присоединяюсь. Действительно на сайтах на которых включен модуль опроса poll таблица cache_form разрастается до неимоверных размеров. Вплоть до того что хостер заблокировал доступ к хостингу в связи с превышением лимита дискового пространства. Спасибо, kompas!

Приступаю тоже к поиску решения.