[решено]Долго грузится сайт - большое меню.

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

Аватар пользователя shumod@drupal.org shumod@drupal.org 12 июля 2014 в 21:49

Есть большое меню - 230 элементов, сделано из словаря таксономии с помощью taxonomy menu. Оно выведено блоком + стоит модуль dhtml menu.
От этого сайт грузится достаточно долго. Devel показывает от 4 до 5 секунд. Если убираю блок с меню, то 0.5 - 1 сек.

Подскажите варианты решения этой проблемы, как ускорить работу сайта с таким большим меню. Стандартное кеширование не помогает...

Комментарии

Аватар пользователя shumod@drupal.org shumod@drupal.org 13 июля 2014 в 1:15

Devel это выдает:
Executed 1175 queries in 629.2 ms. Page execution time was 4430.6 ms. Memory used at: devel_boot()=1.34 MB, devel_shutdown()=35.75 MB, PHP peak=41.75 MB.

Если блок с менюшкой убрать, то пишет следующее:
Executed 237 queries in 141.37 ms. Page execution time was 885.47 ms. Memory used at: devel_boot()=1.34 MB, devel_shutdown()=27.47 MB, PHP peak=33.25 MB.

Аватар пользователя Sky Cat Sky Cat 13 июля 2014 в 6:03

Если у вас целых 230 (!) пунктов в меню, значит что-то у вас пошло не так уже на этапе планирования вашего сайта. Столько пунктов меню пользователю просто не нужно. Ну если уж вы любите есть кактусы, то выкиньте taxonomy menu и смотрите в сторону taxonomy_get_tree (https://api.drupal.org/api/drupal/modules%21taxonomy%21taxonomy.module/f...). Будет намного меньше запросов к базе.

Аватар пользователя mbaev mbaev 13 июля 2014 в 13:01

"Sky Cat" wrote:
что-то у вас пошло не так уже на этапе планирования

Полностью согласен. Если это не ваш сайт попытайтесь убедить заказчика хотя бы разбить это меню на подсекции и выводить одну подсекцию на раздел.

Аватар пользователя imarat imarat 13 июля 2014 в 19:55

кеширование не может не помогать, если оно действительно кешируется
если стандартное не срабатывает, делайте сами cache set cache get