Оптимизация сайта: отдельный запуск фоновых задач по расписанию

Оптимизация загрузки сайта на 1С-Битрикс: перенос агентов на cron

На проекте NUOVITA нашли задержку загрузки из-за выполнения агентов на хитах. Перенесли их на cron и доработали HTML, скрипты и компоненты главной страницы.

1С-БитриксОптимизация сайтаАгенты и cronТехническая поддержка

От проблемы к результату

Как мы решали конкретную задачу клиента и что получилось.

Проблема

Клиент NUOVITA сообщил о падении скорости работы сайта и попросил определить причины и варианты устранения. В ходе диагностики выяснилось, что выполнение агентов на хитах блокировало загрузку контента примерно на четыре секунды.

Также в записях анализа отмечен размер HTML главной страницы как причина задержки загрузки контента.

Решение

Перенесли выполнение агентов с хитов на cron. Для запуска создали файл bitrix/php_interface/cron_events.php.

Дополнительно работали с шаблоном главной: добавили обработчики сжатия HTML и удаления системных стилей и скриптов, оптимизировали скрипты и настройки кеширования. Доработали настройки компонентов и слайдер, убрали торговые предложения из его вывода.

Результат

Агенты переведены на cron. В истории работ также зафиксированы изменения HTML, скриптов, кеширования и компонентов главной страницы.

Около четырёх секунд — наблюдение диагностики до изменений. Итоговое время загрузки и сопоставимые замеры после переноса в доступных записях отсутствуют.

NUOVITA · техническая поддержка

Фоновая работа задерживала открытие страницы

Клиент заметил, что сайт продолжает работать медленнее, и попросил разобраться в причинах. Проверку начали с анализа загрузки контента и результатов Google PageSpeed Insights.

В ходе диагностики нашли выполнение агентов Битрикса на хитах. Такие задачи запускались при обращениях к сайту. В служебной записи отмечено, что их выполнение блокировало загрузку контента примерно на четыре секунды.

Диагностика

Проверили разные источники задержки

Агенты на хитах

Выявили выполнение фоновых задач во время обращений к сайту. Именно с ним в диагностике связана задержка загрузки контента примерно на четыре секунды.

HTML главной страницы

Размер HTML отмечен в отдельной записи анализа. В дальнейшем добавили обработчики сжатия разметки и удаления системных стилей и скриптов.

Скрипты и компоненты

Работали с кешированием скриптов, настройками компонентов главной и слайдером. Из вывода слайдера убрали торговые предложения.

Основное изменение

Перенесли агентов на cron

Для запуска агентов по расписанию создали bitrix/php_interface/cron_events.php и перевели их выполнение с хитов на cron. Фоновые задачи получили отдельный запуск по расписанию вместо привязки к обращениям посетителей.

Такая работа требует проверки конкретной конфигурации сайта: какие задачи выполняются агентами, как они запускаются и от чего зависят. В этом проекте перенос последовал за диагностикой задержки, а не был выбран только по рекомендациям PageSpeed.

Работа с главной страницей

Дополнительные изменения шаблона

01

Разметка и системные ресурсы

Добавили обработчики сжатия HTML и удаления системных стилей и скриптов. Изменения зафиксированы в истории работ и коммитах.

02

Скрипты и кеширование

Оптимизировали скрипты, настраивали кеширование и проверяли скорость сайта.

03

Компоненты и слайдер

Доработали настройки компонентов главной страницы и вывод слайдера. Из его вывода исключили торговые предложения.

Выполненные работы

Что изменили по результатам диагностики

01

Отдельный запуск агентов

Выполнение агентов перенесено с хитов на cron. Создан файл запуска по расписанию.

02

Доработка формирования страницы

Добавлены обработчики сжатия HTML и удаления системных ресурсов, выполнены изменения скриптов.

03

Настройки главной страницы

Выполнены работы с кешированием, компонентами и слайдером главной страницы.

Оценка результата

Что показывает диагностика

В задаче есть конкретное наблюдение до изменений: агенты на хитах задерживали загрузку контента примерно на четыре секунды. Записи подтверждают перенос на cron и последующие работы со страницей.

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

Оптимизация вашего сайта

Найдём причину медленной загрузки

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

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