Случайные записи в Твиттере
Тормозит друпал - views и производительность
Сегодня боролся за скорость сайта и обнаружил следующее узкое место - views и способ отображения материала
Началось все с того, что на небольшом сайте в 5 000 страниц (нодов) страница генерится 1,5-2 секунды.Кроме оптимизации конфига sql (my.cnf), установки нормального кеширования, оказалось что views может тупить.
Скорее всего причина в многократном вызове процедуры node_load().
Как оптимизировать вывод в views?
Вариант 1 - тормозной - так делал сначала
Создаем представление и в качестве выводимых материалов выбираем анансы статей.
При этом отображается анонс, количество комментариев, ссылки и т.д.
С одной стороны удобно, но при этом очень медленно строится страница.
Вариант 2 - быстрее варианта 1 в 6-10 раз.
В качестве отображения выбираем поля.
Поля для отображения - заголовок, анонс, ссылка на ноду
С одно стороны все отображается одинаково. Но как показал devel скорость генерации страницы иногда в 10 раз быстрее.
Так что даже views может работать очень шустро, если не использовать в качестве отображения данных материал (когда идет многократный вызов node_load() ). Лучше использовать для вывода поля и выводить только то, что дествительно надо.


Комментарии
Еще очень важно выставлять адекватное время кеширования результатов запросов и рендеринга страниц в вьюсе.
Очень помогает повысить производительность
Отправить комментарий