cache_hierarchical_select весит четверть всей базы - это нормально?

25 июля 2011 в 22:27

Сейчас заглянул в БД и обнаружил, что таблица cache_hierarchical_select весит 10 с хвостом Мб - а вся база при это - 40 Мб. Это после переезда. На старом хосте база весит 37 Мб, из которых cache_hierarchical_select - убийственные 26.
Это нормально, а то я как бы думал, что поисковый индекс первым покажет свой желудок? И что же будет, когда база разрастется до вменяемых величин порталов?
Установлен Hierarchical Select версия 6.x-3.7, используется примерно 5-6 вьюшек с ним самым раскрытым и, кроме элементов, где он сам включается (вложенность при правке термина таксономии и т.п.), я его больше никак не юзаю.

Комментарии

upd: Теперь cache_hierarchical_select весит 350 Мб, а вся база при этом 370.
Может быть вообще можно как-то отключить кеширование hierarchical select? В настройках нигде не нашел, нашел только "Кэширование в базе данных HTML 5 на стороне клиента", но это, видимо, не то.

27 июля 2011 в 12:04

Версия 6.x-3.7
Drupalhosting.ru

Сейчас очистил таблицу, попробовал поиграться с exposed filters, которые сделаны с помощью HS - таблица на глазах тут же выросла до 10Мб. Причем весь этот мусор находится именно в DATA (longblob).

27 июля 2011 в 12:22

И еще, что странно, еще на одном сайте на этом же хостинге стоит HS той же версии и включены те же подмодули (все), с несколько большей посещалкой - там все нормально.

27 июля 2011 в 12:24

"mmc" wrote:
хс

Имеется в виду hc.ru ?
У меня тоже на мастерхосте с этим было нормуль (зато с другим хреново).

С другой стороны, что может сделать хостер, учитывая, что у меня шаред?

И, таки отключить это кеширование получается никак?

27 июля 2011 в 12:52

"mmc" wrote:

Витя, исправили ужо


Зашёл на д.о, собственно ишью вот http://drupal.org/node/920588
Закрыто оно не потому что исправлено, а из-за неактивности, так что проблема имеет место быть.

27 июля 2011 в 13:09

Нашел такой скрипт: _http://korjik.org.ua/ochistka-tablic-mysql-po-raspisaniyu/
Если его по крону запускать, скажем, каждый час, то ведь не шибко сильную нагрузку создаст?
И это... в php нуб дуб - вроде синтаксис правильный, ничего там не должно удалиться (нет команд типа "drop " )?

27 июля 2011 в 14:50

Нашел такую строчку в файле модуля hierarchical_select.module:

<?php
// 6 hours cache life time for forms should be plenty.
define('HS_CACHE_LIFETIME_DEFAULT'21600);
?>

Попробовал исправить 21600 на ноль - безрезультатно. Но чую, что решение где-то там.

27 июля 2011 в 15:59

"sergip" wrote:
подпишусь

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

27 июля 2011 в 22:37

"RxB" wrote:
Вот вам принудительная очистка кеша

Огромное спасибо за модуль!
"Айдар" wrote:
отключать модуль, т.к. он без кеша достаточно сильно грузит сервер.

Все же пока не решаюсь применять такого рода скрипт, заменил HS на BEF - "спецэффекта" меньше, но практичность дороже.
"info-файл модуля" wrote:
description = Мистер Проппер

Оригинально и в тему! Smile

28 июля 2011 в 12:19

привет всем!
может быть, кто0нибудь нашел альтернативу данному модулю? очень пригодилось бы...

10 августа 2011 в 23:41

Тут где-то писали, что от хостера еще зависит, и у меня на мастерхосте нема было. Это точно версия? Кто хостер?
И напишите, пожалуйста, какая именно версия - очень не хватает мне старого доброго ЭйчЭс.

11 августа 2011 в 0:45

У меня, скорее всего, dev версия. Ей, может быть, пол года или даже больше.
Вообще-то, свой кэш в HS - вещь нужная и правильная. И Вим Лирс его добавил в том числе по моей наводке ))))
Просто кэш должен очищаться. Я считаю, нужно давить на исправление этого бага

11 августа 2011 в 0:56

А дистрибутив сохранился? Или неправленные файлы модуля?

С нужностью кеша согласен, но его слишком много! А автоочистка никак не настраивается одной таблицы только интересно?

11 августа 2011 в 1:10

Спасибо!

Поставил - отличается от текущего только содержимым двух файлоы (сравнил остальные по содержимому - одинаково) - упоминаний сабжевой таблицы в отличиях не обнаружил.
Поигрался с работой HS - таблица выросла до 1.2 Мб тут же. Smile
Внимательно слежу до завтра, после чего отпишусь.

И все-таки можно ведь как-то включить по крону автоочистку таблицы?

11 августа 2011 в 1:54

вы что-то путаете...если бы в этой версии был кеш - он бы существовал в hook_schema() а я его вообще не наблюдаю

11 августа 2011 в 2:26

Вы небось модуль криво установили. без удаления старого.
Поскольку это даунгрейд, нужно сначала модуль отключить, потом удалить через Друпал, потом удалить полностью файлы, потом залить мою версию.

11 августа 2011 в 12:33

Че-та не понял - решил преустановить HS (отдаунгрейдить): отключил версию 3.7. на странице модулей, удалил модуль в админке, удалил файлы по FTP, и все равно на странице модулей отображается этот модуль и все его подмодули версии 3.7.

Попробовал закинуть файлы версии 3.3. - в админке все равно показывает 3.7. - нифига не понял, в чем дело.

Все кеши чистил (даже браузреный). После удаления проверял наличие таблиц модуля в БД - все удалилось.

RxB, уважаемый Мистер Проппер тоже не хочет работать с кешем: установил его, включил в админке, запустил крон - вес таблицы в базе остался тот же.

Шо ж за день сегодня такой невезучий!

23 августа 2011 в 11:50

Еще в таблице variable есть поле:
hierarchical_select_js_cache_system со значением s:1:"1";
Может, тут чего поменять, чтобы не кешировалось?

23 августа 2011 в 12:28

Upd: Изменил значение с s:1:"1"; на s:0:""; - вроде работает, только не знаю, чем мне это срезультирует, кроме большей нагрузки из-за отсутствия кеша.

23 августа 2011 в 12:34

"DDDDD099" wrote:
Есть ли какието-сдвиги в теме?

Внезапно что-то случилось, и все стало хорошо (хорошо - сказано двусмысленно: кеш не растет за счет того, что быстро чистится).

17 апреля 2012 в 18:59

Поставил последнюю версию - за сутки вырос до 700mb и больше не рос. Какаято ерунда. Может надо чего на хостинге настроить?

17 апреля 2012 в 20:24

Ок. Если и проц не грузить и БД не зас$рать, есть компромисс:
1. по дефолту (у меня) модуль даёт 6 часов кешу на жизнь, т.е.
db_query("DELETE FROM {cache_hierarchical_select} WHERE expire < NOW() - 0");
2. нужно свой лайфтайм? велкам:
db_query("DELETE FROM {cache_hierarchical_select} WHERE created <= NOW() - сколько_хотим_хранить_кеш_в_секундах");
3. для знающих толк в извращениях )))
db_query("DELETE FROM {cache_hierarchical_select} WHERE ..... LIMIT 10, 1010"); и т.д. - можно загнуть sql как угодно ))

22 октября 2012 в 5:02