Группы запросов
На странице Queries → Query groups повторяющиеся запросы группируются, и для каждой группы запросов выводится своя статистика.
В ADQM Control реализовано два уровня вложенности группировки запросов:
-
family — группа (семейство) запросов, которые имеют одинаковое числовое хеш-значение (
normalized_query_hashвsystem.query_log) и отличаются только значениями литералов (параметризованными значениями); -
variant — группа запросов внутри family с одинаковыми параметризованными значениями (вариант запроса).
Список групп запросов
Список групп запросов (family) выводится на странице Queries → Query groups в виде таблицы.
Поля таблицы Query groups
Таблица Query groups может включать следующие поля с общей информацией о группах запросов.
| Поле | Описание |
|---|---|
Query text |
Общая SQL-структура запросов группы, в которой конкретные значения литералов (числа, строки) заменены символом |
Type |
Тип запроса. Возможные значения:
|
Variants |
Количество вариантов запроса (то есть количество различных комбинаций значений литералов, с которыми запускался запрос). Для быстрого подсчета количества вариантов на выбранном временном интервале используются приблизительные вычисления с погрешностью не более 3% |
Comment |
|
Frequency |
Общее количество выполнений запроса за выбранный период времени |
Total time |
Общее время выполнения всех запросов в группе за выбранный период времени |
Avg duration |
Среднее время выполнения запроса |
Queue share |
Насколько сильно на время выполнения запроса влияют другие запросы, выполняющиеся в то же самое время, относительно того, как если бы запрос выполнялся в пустом кластере. В столбце показывается
|
Longest run |
Максимальное время выполнения запроса |
Shortest run |
Минимальное время выполнения запроса |
Failures |
Количество неудачных выполнений запроса |
Read rows |
Общее количество считанных строк данных (для запросов типа |
Written rows |
Общее количество записанных строк данных (для запросов типа |
Memory usage |
Общий объем памяти, используемой запросами группы |
Чтобы вывести/скрыть поля таблицы Query groups, нажмите Customize table и отметьте нужные поля в выпадающем списке. Поля Query text и Frequency всегда присутствуют в таблице, их скрыть нельзя.
Фильтрация и сортировка данных
Для отбора необходимых данных на странице Queries → Query groups можно использовать фильтры, расположенные в заголовках столбцов таблицы. Чтобы открыть фильтр, кликните по иконке
. Фильтры доступны в следующих столбцах:
-
Type — можно выбрать тип запроса из выпадающего списка;
-
Comment — можно ввести фрагмент комментария к группе запросов (регистр не учитывается).
Иконка
означает, что применен фильтр по значениям столбца. Для сброса всех условий фильтрации нажмите
.
Отсортировать данные можно по любому столбцу кроме Query text, Type и Comment. Для изменения порядка сортировки данных по значениям столбца используйте иконку
или
в его заголовке.
Над списком сгруппированных запросов расположена панель с индикаторами применяемых в настоящий момент условий сортировки (Sorted by) и фильтрации (Filtered by) данных.
Графики
На странице Queries → Query groups можно вывести графики для отслеживания динамики изменения метрик запросов за выбранный период времени. В столбцах метрик, для которых поддерживаются графики, расположена иконка
. Кликните по иконке — над списком сгруппированных запросов появится панель, где будет построен график по соответствующему показателю группы запросов. Одновременно можно построить до 8 графиков (включительно).
При наведении курсора мыши на область графиков можно получить конкретные значения отслеживаемых метрик в определенный момент времени. Опция Detalization позволяет выбрать уровень детализации (число точек на графике): Low или High.
Чтобы удалить график, нажмите соответствующую ему по цвету иконку в таблице (например,
и
на рисунке выше) или иконку
в легенде справа от графиков.
Детали группы запросов
Чтобы перейти на страницу с деталями группы запросов, нажмите на текст запроса в поле Query text на странице Queries → Query groups.
Открывшаяся страница Query group family details включает следующие разделы:
-
Комментарий — описание группы запросов. Чтобы развернуть комментарий, нажмите на Comment или иконку
. Для ввода или редактирования текста (допускается длина строки до 4096 символов) нажмите на иконку
.
-
Информация о группе запросов:
-
Таблица с метриками группы запросов, которая в дополнение к полям из таблицы Query groups, включает поля:
-
Databases — названия баз данных, к которым обращается запрос;
-
Tables — названия таблиц, к которым обращается запрос;
-
Service time — время выполнения запроса, если бы на него не влияли другие запросы.
-
-
Полный текст запроса с подстановкой символа
?вместо значений литералов.
-
Графики
На странице Query group family details выводятся графики, по которым можно визуально оценить следующие метрики группы запросов:
-
Duration — длительность выполнения запросов;
-
Read/Written rows — общее количество строк, считанных/записанных запросами группы;
-
Memory usage — общий объем памяти, используемой запросами группы.
Duration
С помощью графика Duration можно проанализировать динамику изменения производительности запроса в течение выбранного интервала времени.
На этом графике выводится следующая информация:
-
95th Quantile — 95-й квантиль длительности выполнения запроса.
-
Average — среднее время выполнения запроса.
-
Service time — время выполнения запроса, если бы на него не влияли другие запросы.
-
Queue wait (область, заштрихованная желтым цветом) — сколько времени запрос ждет в очереди на выполнение. Метрики Service time и Queue wait показываются на графике, если значение Queue share для запроса не
—. -
Min-max range (область, заштрихованная синим цветом) — диапазон между минимальным и максимальным временем выполнения запроса.
-
No data (область, заштрихованная серым цветом) — интервал времени, для которого нет данных о выполнении запроса.
Клик по метрике в легенде скрывает/показывает ее на графике.
Варианты запросов в группе
В секции Variants in group, расположенной внизу на странице Query group family details, показывается таблица, где каждая строка — группа запусков отдельного варианта запроса за выбранный интервал времени. Столбец Query text содержит текст варианта запроса с конкретными значениями литералов, подставленными вместо символа ? в SQL-структуру запроса группы. В других столбцах таблицы для каждого варианта запроса выводятся метрики по его выполнениям: общее количество выполнений (отдельно — количество неудачных выполнений), общее/среднее/минимальное/максимальное время выполнения, количество прочитанных/записанных строк данных (в зависимости от типа запроса), объем используемой памяти. По этим метрикам можно сортировать данные в таблице с помощью иконок
и
в заголовках столбцов.
При нажатии на текст варианта запроса в столбце Query text открывается страница Query group variant details с деталями по запускам этого варианта запроса — см. описание ниже.
Детали варианта запроса
На странице Query group variant details отображается детальная информация о выполнениях конкретного варианта запроса:
-
Таблица с общей статистикой выполнения варианта запроса за указанный период времени, которая в дополнение к полям, содержащимся в таблице Variants in group на странице Query group family details, включает следующие поля:
-
Type — тип запроса;
-
Databases — базы данных, к которым обращается запрос;
-
Tables — таблицы, к которым обращается запрос.
-
-
Полный текст запроса с используемыми значениями литералов.
-
Графики как на странице Query group family details (Duration, Read/Written rows, Memory usage), но построенные по метрикам выполнений конкретного варианта запроса.
-
Таблица Executions in group с подробной информацией по каждому отдельному запуску запроса (см. описание столбцов в разделе Поля таблицы All queries). Клик по идентификатору в поле Query ID открывает страницу Query details.