Скорость загрузки сайта

Опубликовано Ksenia-Polo - пт, 05/24/2019 - 09:08

Инструменты:

https://developers.google.com/speed/pagespeed/insights/ с Lighthouse

PageSpeed Insights https://developers.google.com/speed/pagespeed/insights/?hl=ru
Рекомендации:

https://habr.com/ru/post/429668/

1)Включить встроенное кэширование можно на Конфигурация -> Производительность (Configuration -> Performance) admin/config/development/performance

2)Включить встроенное кэширование блоков и встроенную CSS и JS аггрегацию
на Конфигурация -> Производительность (Configuration -> Performance) admin/config/development/performance.

3)кэширования представлений (views) и кэширование содержимого представлений (Views Content Cache), если контент изменился, то кэш обновляется.

кэширования блоков для представлений (views block cache)  

в редактирование нужного нам представления и в advanced settings видим опцию кэширования блоков (Block caching) и в ней выбираем настройки кэширования

Лайтпейджер для представлений (Views Litepager)

Если Вы используете родной пейджер или мини-пейджер, то требуется запрос COUNT для всех страниц для корректного отображения пейджера. Это добавляет время для исполнения и особенно, когда используется InnoDB.

Views Litepager избавляет от необходимости использовать запросы COUNT отображая только ссылки "Предыдущая", "Следующая". Вы потеряете немного функциональности, зато выиграете в скорости.

Делай HTML файлы статичными

Boost  превращает все страницы Друпала в статичные HTML файлы, но для залогиненных пользователей Boost не кэширует страницы.

Включи модуль Fast 404

Скорость загрузки страниц может очень сильно увеличиться, если на сайте много битых ссылок на картинки и файлы CSS.  Fast 404  отдает легкие сообщения при возникновении ошибки 404.

Удали модуль статистики (Statistics module)


Выключи PHP Filter

Выключи Update Manager

 Уменьшай число модулей

Сначала отключай, а только потом удаляй неиспользуемые модули!

Или найти уже удаленные сClean Missing Modules или Missing Module.

Уменьшай вес картинок

 Image Resize Filter 

Установи ImageAPI Optimise

 ImageAPI Optimise модуль удаляет лишние данные не влияя на качество картинки.

ImageAPI Optimise module требует некоторые утилиты для установки на сервер. Если у тебя нет доступа к серверу, то в настройках выбирай Yahoo’s Smush.it.

Установи Entity Cache

Entity Cache  кеширует всю сущность в таблице кэширования (cache table).

Предупреждение! У меня был отличный рост производительности на сложных сайтах с кучей полей. Но если у тебя простенький сайт, то рост производительности не будет так заметен. Также я заметил конфликт между Ubercart Price Per Role и Entity Cache.

Установи продвинутую аггрегацию CSS/JS (Advanced CSS/JS Aggregation)

Advanced CSS/JS Aggregation модуль намного эффективнее, чем встроенная аггрегация CSS и Javascript.

Уменьши число запусков крона

По умолчанию крон настроен на запуск каждые 3 часа, это означает, что каждые 3 часа пользователь будет получать очень медленную загрузку страниц.

Самое лучшее - отключить крон на сайте и настроить крон на сервере.

 Display Cache - модуль, с помощью, которого легко кешировать HTML любой сущности в любом режиме отображения представления (specific view mode). Суть в том, что можно точно настроить режим кеширования для каждой сущности независимо от глобальных настроек кеширования, чтобы кэш обновлялся только в том случае, если произошло изменение контента. Как настроить: http://drup.by/articles/entity-cache-i-display-sache-kompleksnoe-keshirovanie-sushchnostey

File Cache - модуль, который делает возможным хранение кэша страницы не в базе, а в файловой системе, об установке в README.txt модуля (не забудь про обязательное хранение views кеша на диске*).

Также помогают: https://www.drupal.org/project/css_emimage https://www.drupal.org/project/optimizedb

  1. Правило 1: Уменьшите количество HTTP-запросов
  2. Правило 2: Используйте CDN
  3. Правило 3: Используйте заголовок Expires
  4. Правило 4: Используйте GZIP
  5. Правило 5: Размещайте CSS вверху страницы
  6. Правило 6: Размещайте JS внизу страницы
  7. Правило 7: Избегайте использования в CSS выражений
  8. Правило 8: Используйте внешние .css и .js-файлы
  9. Правило 9: Сократите время поиска адреса сайта (DNS lookups)
  10. Правило 10: Минимизируйте яваскрипты
  11. Правило 11: Избегайте перенаправлений
  12. Правило 12: Удалите дублирующие друг друга скрипты
  13. Правило 13: Настройте ETags
  14. Правило 14: Сделайте AJAX кешируемым
  15. Дополнительная оптимизация