В это обновление мы включили ряд улучшений, позволяющих более эффективно отлаживать баги и скорость работы сайтов, работающих на платформе ReadyScript.
Скорость работы сайтов в первую очередь зависит от скорости выполнения, рациональности и оптимальности SQL запросов, направляемых базе данных. Также скорость серверного рендеринга страницы зависит от количества и конкретных настроек блоков, размещенных на ней.
На скорость также могут влиять кастомные обработчики системных событий, добавляемые программистами для решения индивидуальных задач клиента. И здесь мы подбираемся к первому улучшению. Мы добавили новый пункт в разделе Управление -> Настройка системы. Он называется «Подписчики на события».
Первое, что делают специалисты нашей поддержки, когда обращается новый клиент с вопросами, например, о работе корзины – смотрят, нет ли каких-либо кастомных обработчиков событий корзины, так как они могут модифицировать логику работы. Теперь это действие можно выполнить одним кликом и с помощью CTRL+F в браузере быстро найти обработчиков нужного нам события.
Второе улучшение более важное, оно позволяет видеть время, затрачиваемое на инициализацию, выполнение фронт-контроллера, всех блок-контроллеров, а также просматривать какие производились SQL запросы на каждом этапе, сколько они занимали время и самое главное - есть стек-трейс для каждого SQL запроса. Стек-трейс позволяет точно вычислить место в коде, в котором происходит формирование и запуск SQL-запроса.
Чтобы включить опцию профилирования скорости выполнения кода, необходимо перейти в раздел Управление -> Настройка системы -> Вкладка «Основные» -> Опция «Включить профилирование кода».
В шапке панели администратора в клиентской части сайта отобразится кнопка «Отчет», которая будет открывать отчет о производительности всех этапов и элементов текущей страницы.
Отчет о производительности конкретного блок-контроллера можно открыть, если в режиме отладки нажать на иконку «Информация». Теперь помимо переменных там отобразится время выполнения блок-контроллера, его SQL запросы, стек-трейс по каждому запросу.
Важно: сведения о производительности страниц сохраняется в сессии, данные занимают место, а их формирование - время, поэтому мы настоятельно рекомендуем включать инструменты профилирования только во время разработки и отладки сайта.
Опция профилирования кода доступна только в коробочной версии платформы ReadyScript.