hierarchical_select быстродействие

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

Аватар пользователя itm itm 3 февраля 2012 в 19:20

Настроил вывод терминов при помощи фильтра вьюс с использованием hierarchical_select. Работает но терминов много - хотелось бы сделать это максимально быстро. Подскажите как.

Хотел бы отключить анимацию - понимаю что особо не ускорит но тем не менее. Подскажите как отключить в HS эффекты js ?

Комментарии

Аватар пользователя itm itm 3 февраля 2012 в 22:46

Но они нужны - этот вариант не подойдет. А насколько это может зависеть от памяти php - у меня 128. Термины подгружаются до 3 секунд. Хотелось-бы в 2 раза быстрее.

Аватар пользователя Айдар Айдар 3 февраля 2012 в 23:01

Не получится. Либо альтенрнатива, либо терпеть.

Еще рекомендую посмотреть размер таблицы hs_cache - не всегда, но бывает огромен.

Аватар пользователя torquemada torquemada 4 февраля 2012 в 1:40

Вариантов много, оптимальный зависит от размера таблицы таксономии и характера разработки. Для нас это так или иначе сведется к выбору одного 3-х путей:
1. Оптимизация штатными средствами. Используйте Boost, указав необходимость кешировать результаты ajax/json запросов. В огромном большинстве случаев это дает огромный прирост скорости. Лучший вариант даже в том случае если словарь активно пополняется.
2. Оптимизация со стороны БД. Memcached.
3. Наконец, хак в виде своих sql запросов вместо hierarchical select. Советую прибегать как к самому крайнему средству - несмотря на то что скорость так можно подвести к максимально возможной в текущей среде (пхп + сервер базы + http сервер), потери в гибкости катастрофические.

Аватар пользователя itm itm 4 февраля 2012 в 14:28

"Айдар" wrote:
Я про вес.

Вчера было 1.5mb сегодня 5mb - я немного экспериментировал. Что это значит - пациент здорв или его надо лечить? И чем?

"torquemada" wrote:


Спасибо за развернутый ответ.
Какой вариант выбрать - у меня к терминам привязаны ноды с полями - они менятся будут раз в полгода путем загрузки экселя через нод импорт. Никаких новых терминов создаваться не будет.

Аватар пользователя Айдар Айдар 4 февраля 2012 в 14:59

"itm" wrote:
пациент здорв или его надо лечить? И чем?

Зависит от ресурсов сервера по части выделенного жесткого.

Вообще, были случаи, когда доходило до нескольких гб (ишью на орге).

(на будущее) Решаемо уменьшением значения времени жизни кеша с 21600 на меньшее в файле модуля, но это повлияет на ресурсы выделенной памяти CPU.

А так, если фильтров используется немного на сайте и в каждом из них не очень много терминов (критериев фильтрации то есть), то проблем быть не должно.

Аватар пользователя itm itm 4 февраля 2012 в 18:57

Поставил но не могу разобраться с настройками. А именно - тех вьюх которые выводятся фильтром с HS. На этих страницах блок буста пишет "This page is being served live to anonymous visitors, as it is not currently in the static page cache." И возможно-ли сделать чтобы термины в селект быстрее подгружались? Птицу напротив кеширования ajax/json в бусте поставил - но эти представления буст не кеширует.

Аватар пользователя itm itm 4 февраля 2012 в 19:04

"Айдар" wrote:
(на будущее) Решаемо уменьшением значения времени жизни кеша с 21600 на меньшее в файле модуля, но это повлияет на ресурсы выделенной памяти CPU.

Может я чегото не догоняю - а что именно в этом кеше - как это работает. Как быть - мне не надо уменьшать жизнь кеша - у меня фильтрация по статическим страницам которые никогда не меняются.