Инструменты для отладки производительности
Для оценки и отладки производительности компонент и всего сайта в целом используются следующие инструменты. Это общеизвестные параметры для страницы:
show_page_exec_time=Y - выводит общее время исполнения страницы;
show_include_exec_time=Y - выводит время исполнения каждой из компонент, время формирования меню.
В корреляции с этими параметрами работает параметр show_sql_stat=Y, который выводит число SQL запросов, общее время исполнения SQL запросов и позволяет проанализировать сами запросы, как на всю страницу, так и на отдельно взятый компонент или меню.
Пример:
На этом рисунке представлена статистика SQL запросов для компоненты новостей на главной странице. Выводится она 2 запросами. Общее время работы компоненты составляет 0.0463 сек. Время SQL запросов 0.0274 сек. или 59.18% от времени работы компоненты (% помогает выявлять ресурсоемкий PHP код или тяжелые запросы). Возле каждого запроса указывается, сколько раз аналогичные запросы повторялись с вариацией параметров, сколько времени выполнялся запрос. В статистике перечисляется, откуда вызван запрос и с какими параметрами.
Рассмотрим другой пример: запросы на странице блогов.
Количество запросов равно четырем. Но они потребляют меньше 4% от времени компоненты, которое составляет 0.0228 сек. Важно, что количество запросов не играет решающей роли, важнее время выполнения запросов.
На практике использование этого инструментария позволяет:
* быстро выявлять больные участки сайта;
* находить ошибки программирования, в которых компонент генерирует очень много запросов (или мало, но медленных запросов);
* выявлять особенности и недостатки конфигурации SQL сервера или отдельных таблиц.