
Оптимизация загрузки сайта на 1С-Битрикс: перенос агентов на cron
На проекте NUOVITA нашли задержку загрузки из-за выполнения агентов на хитах. Перенесли их на cron и доработали HTML, скрипты и компоненты главной страницы.
От проблемы к результату
Как мы решали конкретную задачу клиента и что получилось.
Проблема
Клиент NUOVITA сообщил о падении скорости работы сайта и попросил определить причины и варианты устранения. В ходе диагностики выяснилось, что выполнение агентов на хитах блокировало загрузку контента примерно на четыре секунды.
Также в записях анализа отмечен размер HTML главной страницы как причина задержки загрузки контента.
Решение
Перенесли выполнение агентов с хитов на cron. Для запуска создали файл bitrix/php_interface/cron_events.php.
Дополнительно работали с шаблоном главной: добавили обработчики сжатия HTML и удаления системных стилей и скриптов, оптимизировали скрипты и настройки кеширования. Доработали настройки компонентов и слайдер, убрали торговые предложения из его вывода.
Результат
Агенты переведены на cron. В истории работ также зафиксированы изменения HTML, скриптов, кеширования и компонентов главной страницы.
Около четырёх секунд — наблюдение диагностики до изменений. Итоговое время загрузки и сопоставимые замеры после переноса в доступных записях отсутствуют.
Фоновая работа задерживала открытие страницы
Клиент заметил, что сайт продолжает работать медленнее, и попросил разобраться в причинах. Проверку начали с анализа загрузки контента и результатов Google PageSpeed Insights.
В ходе диагностики нашли выполнение агентов Битрикса на хитах. Такие задачи запускались при обращениях к сайту. В служебной записи отмечено, что их выполнение блокировало загрузку контента примерно на четыре секунды.
Проверили разные источники задержки
Агенты на хитах
Выявили выполнение фоновых задач во время обращений к сайту. Именно с ним в диагностике связана задержка загрузки контента примерно на четыре секунды.
HTML главной страницы
Размер HTML отмечен в отдельной записи анализа. В дальнейшем добавили обработчики сжатия разметки и удаления системных стилей и скриптов.
Скрипты и компоненты
Работали с кешированием скриптов, настройками компонентов главной и слайдером. Из вывода слайдера убрали торговые предложения.
Перенесли агентов на cron
Для запуска агентов по расписанию создали bitrix/php_interface/cron_events.php и перевели их выполнение с хитов на cron. Фоновые задачи получили отдельный запуск по расписанию вместо привязки к обращениям посетителей.
Такая работа требует проверки конкретной конфигурации сайта: какие задачи выполняются агентами, как они запускаются и от чего зависят. В этом проекте перенос последовал за диагностикой задержки, а не был выбран только по рекомендациям PageSpeed.
Дополнительные изменения шаблона
Разметка и системные ресурсы
Добавили обработчики сжатия HTML и удаления системных стилей и скриптов. Изменения зафиксированы в истории работ и коммитах.
Скрипты и кеширование
Оптимизировали скрипты, настраивали кеширование и проверяли скорость сайта.
Компоненты и слайдер
Доработали настройки компонентов главной страницы и вывод слайдера. Из его вывода исключили торговые предложения.
Что изменили по результатам диагностики
Отдельный запуск агентов
Выполнение агентов перенесено с хитов на cron. Создан файл запуска по расписанию.
Доработка формирования страницы
Добавлены обработчики сжатия HTML и удаления системных ресурсов, выполнены изменения скриптов.
Настройки главной страницы
Выполнены работы с кешированием, компонентами и слайдером главной страницы.
Что показывает диагностика
В задаче есть конкретное наблюдение до изменений: агенты на хитах задерживали загрузку контента примерно на четыре секунды. Записи подтверждают перенос на cron и последующие работы со страницей.
Сопоставимого замера после работ в архиве нет. Поэтому четыре секунды не обозначают доказанное ускорение сайта. Изменение продаж и конверсии в рамках этой задачи также не измерялось.
Найдём причину медленной загрузки
Если магазин на Битриксе долго открывает страницы, проверим серверную генерацию, агенты, запросы, кеш и загрузку ресурсов браузером. По результатам диагностики составим список изменений и согласуем порядок работ.
Для первого разбора пришлите несколько медленных страниц и условия, при которых возникает проблема. Контрольные замеры до и после помогут проверить эффект исправлений.