Любой сайт, а особенно интернет-магазин – это прежде всего конверсионная система трафика в лиды/заказы, которая испытывает множество разнонаправленных нагрузок:
- процессы обмена с 1С или другой учетной системой;
- ежесуточная генерация различных выгрузок;
- отправка и обмен информацией с рядом сервисов;
- пользовательский трафик и нагрузка при работе пользователей с системой;
- работа администраторов сайта.
Все это отражается на утилизации ресурса сервера и скорости отдачи контента сайтом, скорости выполнения операций и команд.
Если система не справляется с нагрузкой, она начинает замедляться или вообще отказывает в выполнении операций. Начинаются проблемы с работой пользователей с системой. Поисковики воспринимают сайт, как медленный, и могут понизить место в поисковой выдаче. Конверсионные свойства падают – схема становится все менее эффективной.
Корректно настроить сайт и сервер для достижения максимальной производительности – это первоочередная задача при запуске сайта в боевой режим.
Отслеживать периодически параметры работы системы и корректировать их – это важная часть поддержки проекта.
Готовиться к наплыву трафика при запуске маркетинговых акций и отслеживать нагрузку на систему – это необходимость.
Из каких блоков работ состоит оптимизация производительности и скорости выгрузки сайта?
Представьте 3х-слойный пирог.
Нижний слой – это сервер и его ресурсы.
Средний слой – это веб-система.
Верхний слой – это контент сайта.
Для максимальной производительности требуется добиваться оптимальной настройки всех слоев системы.
Сервер и его ресурсы:
- свежее ПО;
- достаточный уровень физических параметров сервера: CPU, RAM, HDD;
- корректная настройка сервера для работы веб-системы: ускорители, библиотеки, конфигурация..
Веб-система:
- корректная программная реализация;
- свежая и обновляемая версия CMS;
- корректная задачам редакция CMS (лишнее неиспользуемое замедляет);
- корректная конфигурация CMS;
- использование программных технологий ускорения отдачи контента..
Контент сайта:
- Подготовленные и оптимизированные изображения;
- GTM контейнер для размещения внешних вызовов;
- Периодический аудит внешних вызовов (счетчики, метрики, пикеля соцсетей, чаты и проч);
Сервер и его ресурсы
-
свежее серверное ПО: следить и требовать от техподдержки обновлять по мере появления версий.
-
мы обычно ориентируемся на Bitrix Environment, версии 1С-Битрикс и их требования
PHP 7.2+ и выше;
- web-accelerator: обязателен. Для bitrix мы предпочитаем использовать memcached – эмпирически видим, что он хорошо дополняет композитный режим битрикс – ускоряет и кеширует живые запросы к БД сайта;
- утилиты архивации трафика: gzip/deflate. Настроить уровень компрессии. Для deflate оптимальным является 6 уровень;
- https протокол.
Веб-система: CMS 1C-Битрикс
Битрикс хорош тем, что он все тебе покажет сам – ты только спроси…
На пуске мы у Битрикс спрашиваем следующее:
1. Тест «Проверка системы»
Ссылка в админке битрикс: ваш сайт /bitrix/admin/site_checker.php?lang=ru
Все проблемы тест подсветит красным, все красное убрать.
2. Тест «Производительность»
Доступ в админке битрикс: ваш сайт /bitrix/admin/perfmon_panel.php?lang=ru
Нужно запускать на 5-10 минут.
таб «Конфигурация»: скорости различных подсистем, конфигурация PHP.
таб «Битрикс»: покажет включено ли кеширование, подключен ли ускоритель, как давно оптимизировалась база.
таб «Разработка»: покажет медленные страницы. Если это не страницы из ядра битрикс, а скрипты и страницы сделанные разработчиком – нужно разбираться.
3. Тест «Сканер безопасности» покажет есть ли уязвимости в текущей конфигурации применительно к битрикс.
Доступ в админке битрикс: ваш сайт /bitrix/admin/security_scanner.php?lang=ru
Все красное – это критично, необходимо исправлять.
4. Общие настройки битрикс:
- Настройки сайта. Необходимо убедиться, что URL сайта вписан везде где необходимо
- Главный модуль
Доступ в админке битрикса: ваш сайт /bitrix/admin/settings.php?lang=ru&mid=main&mid_menu=1
Необходимо убедиться, что:
- URL вписан корректно
- проставлены настройки переноса и минимизации js/css
- Автокеширование
Доступ в админке битрикса: ваш сайт /bitrix/admin/cache.php?lang=ru
Все виды автокеширования должны быть включены!
- Композитный режим ускорения
Доступ в админке: ваш сайт /bitrix/admin/composite.php?lang=ru
убедиться что:
- включен;
- в подразделе Страницы появились записи
Если записи не появляются – скорее всего некорректно настроен модуль.
Местонахождение: раздел Настройки – таб «Настройки»
Рекомендация: проверьте какой URL указан (нужен текущий) и как хранится кэш (в файлах или ускорителе).
5. Сервер БД
Доступ в админке: ваш сайт /bitrix/admin/perfmon_db_server.php?lang=ru
Все красное требует обращения к ТП сервера для регулировки.
6.Монитор качества
Ссылка на доступ в админке: ваш сайт /bitrix/admin/checklist.php?lang=ru
Разработчикам рекомендуется участвовать в Программе качества 1С-Битрикс и проходить Мониторы качества на сайтах. В целом это хороший тест для самопроверки на оптимальность.
Мы часто используем этот инструмент для выявления модификаций ядра Битрикс
7. Обновление Битрикс
Ссылка на доступ: ваш сайт /bitrix/admin/update_system.php?lang=ru
Лицензия должна быть активна.
Необходимо периодически обновлять Битрикс.
Если у вас неактуальная версия PHP – Битрикс покажет и это повод для обращения в ТП сервера.
Идеальная картинка:
8. Дополнительные вспомогательные настройки
- отключить неиспользуемые модули;
- настроить фасетные индексы для поискового фильтра;
- настроить индексы базы данных;
- настроить кеширование файлов;
Контент сайта
Оптимизация контента – это регулярная задача.
Изображения
а) изображения готовить под целевой размер в пикселях;
б) обязательно прогонять через сервис оптимизации изображений.
Отложенная загрузка изображений
Используйте технологию lazy load, который позволит оптимизировать скорость загрузки сайта.
GTM контейнер
а) для подключения внешних скриптов используйте Google Tag Manager
б) время от времени аудируйте список вызываемых скриптов.
причина: некоторые внешние вызовы становятся очень медленными, некоторые 404ые, некоторые очень массивные по числу вызовов. Это все отражается на времени полной загрузки страницы = даже если это асинхронная загрузка и пользователь ее не ощущает, то page speed видит все!
Валидаторы
Кроме встроенных в CMS Битрикс валидаторов активно используем:
w3c validator
Помогает выявить проблемы по внешнему коду сайта. Все error нужно убирать.
google page speed
Самое главное – реальная скорость отдачи контента пользователю. Выше скорость – выше баллы.
webpagetest
Использовать для замеров реальной выгрузки сайта. Тест показывает все. Хорошо настроенный сайт должен выгружаться до конца за 5-7 секунд с нуля.
Евгений Прупас, csf.by, рекомендованный партнер ActiveCloud, руководитель команды разработчиков сайта activecloud.by.