Кроме отсутствия гибкого управления (явно не хватает ряда hook-ов), о чем я говорил ранее, таксономия в 6-м Drupal еще и делает по два запроса на каждый node_load, а не хранится в кеше контента cache_content (это хорошо показывает devel).

При формировании, к примеру, главной ленты на lux-e.ru приходится вызывать node_load до полусотни раз. С учетом того, что на один nod_load приходится 8 запросов к базе — это выливается в 4 сотни запросов из которых сотня — привет от таксономии!
Что делать? В каждом случае ответ будет очень индивидуальным. Для вывода такого уникального объекта как лента статей, поможет кеширование всей ленты. Нужно подбирать способ кеширования, подходящий для архитектуры проекта. Решения вроде модуля boost, к сожалению убивают всю динамику блоков.
Стоит с помощью того же devel проанализировать кол-во и тяжесть запросов. Закешировать какие то объекты, части верстки, блоки. В общем, есть где развернуться программисту-оптимизатору.
Данная запись опубликована в 26.08.2013 14:58 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 2, 2015 г.
Хотите сделать галерею своими руками, без сторонних модулей в Drupal? Тогда читайте дальше.
Настроим поле для галереи
Для начала нам надо определиться, ...
Читать
Октябрь 28, 2014 г.
У меня эта ошибка всплыла для поля с автозаполнением, когда список значений генерировался из PHP кода. Занималась генерацией списка значений вот такая функция:
[crayon-68cb3a968e980612628729/]
Грабли обнаружились в случаях, когда поле title содержал ...
Читать
Июль 6, 2023 г.
У нас есть контроллер, который выдаёт json ответ. Добавим кеширование.
Начнем с определения контроллера. Пусть сконфигурирован следующий mymodule.routing.yml:
[crayon-68cb3a968ebe6480163767/]
Это значит, что у нас создан класс PublicApi в ...
Читать
Март 25, 2019 г.
Блок меню core модуля menu позволяет вывести всю иерархию меню полностью, но иногда требуется показать только 1-2 верхних уровня. Посмотрим как организовать такой вывод.
Drupal в модуле menu использует функцию menu_tree('ИМЯ МЕНЮ'), чтобы рендерить ...
Читать