Работа с запросами в ADQM Control
Страница Queries в web-интерфейсе ADQM Control предназначена для вывода SQL-запросов, выполняемых в кластерах ADQM, которые подключены для мониторинга. На этой странице можно получить общую информацию о запросах к базам данных кластера и посмотреть различные показатели выполнения запросов — например, чтобы проанализировать производительность запросов, объемы считываемых/записываемых данных, использование ресурсов, возникшие в ходе выполнения запросов ошибки.
В верхней части экрана можно настроить следующие фильтры для отбора данных, которые требуется вывести на странице Queries:
-
Cluster — кластер ADQM, в котором выполнялись запросы.
-
Time — временной период, в течение которого были запущены запросы. При нажатии на поле открывается окно, в котором можно выбрать интервал из предложенных вариантов на вкладке Range либо самостоятельно установить границы временного диапазона (не менее 1 часа) на вкладке Calendar.
-
Refresh — частота обновления данных.
История запросов на странице Queries всегда показывается в соответствии с этими фильтрами, то есть включает все запросы, запущенные в выбранном кластере ADQM за указанный промежуток времени. Для каждого DDL-запроса (с использованием ON CLUSTER) также отдельно выводятся запросы, выполненные на каждом хосте кластера — перед основным текстом таких запросов используется префикс /* ddl_entry=query-num */.
Получить список самых долгих по времени выполнения запросов или запросов, использовавших наибольшее количество памяти, можно также на странице Dashboard в секции Top 10 queries.
Поля таблицы Queries
Таблица запросов на странице Queries может включать следующие поля.
| Поле | Описание |
|---|---|
Query ID |
Уникальный идентификатор запроса. В столбце также показывается иконка-индикатор статуса запроса:
Статус запроса дополнительно можно вывести в отдельном столбце Status, по которому доступна фильтрация и сортировка |
Query text |
Текст запроса. Текст длинных запросов обрезается, а при наведении курсора мыши на ячейку столбца показывается в виде |
Status |
Текущий статус запроса. Возможные значения:
|
Host |
Хост, на котором выполнялся запрос |
Exception |
Текст ошибки, произошедшей до или во время выполнения запроса |
Exception code |
Код ошибки, произошедшей до или во время выполнения запроса |
Frequency |
Сколько раз выполнялся запрос в кластере за выбранный период времени в контексте всех фильтров, установленных в данный момент на странице. Статистика считается по запросам, текст которых полностью совпадает (то есть для параметризованных запросов учитываются конкретные значения параметров) |
Databases |
Названия баз данных (может быть несколько — например, для запросов с JOIN), к которым обращается запрос |
Tables |
Названия таблиц (может быть несколько — например, для запросов с JOIN), к которым обращается запрос |
Used memory |
Объем памяти, используемой запросом |
User |
Имя пользователя ADQM, запустившего выполнение запроса |
Time started |
Время начала выполнения запроса |
Time elapsed |
Длительность выполнения завершенного запроса или время выполнения на текущий момент ( |
Average execution time |
Среднее время выполнения запроса. Статистика считается по запросам, текст которых полностью совпадает (то есть для параметризованных запросов учитываются конкретные значения параметров) |
Read bytes |
Общий объем данных, считанных из всех таблиц и табличных функций, участвующих в запросе. Для распределенных запросов это количество байтов, прочитанных на всех репликах — каждая реплика передает собственное значение |
Result bytes |
Объем памяти для хранения результата запроса |
Result rows |
Количество строк в результате запроса |
Read rows |
Общее количество строк, считанных из всех таблиц и табличных функций, участвующих в запросе. Для распределенных запросов это общее количество строк, прочитанных на всех репликах — каждая реплика передает собственное значение |
Written rows |
Количество строк, записанных запросом |
Written bytes |
Объем данных, записанных запросом |
Type |
Тип запроса. Возможные значения:
|
Чтобы вывести/скрыть поля таблицы Queries, нажмите Customize table и отметьте нужные поля в выпадающем списке. Поля Query ID и Query text всегда присутствуют в таблице запросов, их скрыть нельзя.
Сортировка и фильтрация данных
Для отбора необходимых данных на странице Queries можно использовать фильтры, расположенные в заголовках столбцов таблицы запросов. Чтобы открыть фильтр, кликните по иконке
. Фильтры доступны в следующих столбцах:
-
Host, Databases, Tables — нужно ввести название хоста, базы данных или таблицы соответственно (для строк, где в столбце Databases или Tables через запятую перечислены названия нескольких баз данных или таблиц, фильтрация работает только если поиск выполняется по одному значению из списка баз данных или таблиц в ячейке);
-
Exception code — нужно ввести числовой код ошибки;
-
User — можно ввести имя или фрагмент имени пользователя;
-
Status, Type — можно выбрать значение (статус или тип запроса) из выпадающего списка.
Иконка
означает, что применен фильтр по значениям столбца. Для сброса всех условий фильтрации нажмите
.
Сортировка данных возможна по столбцам Exception (фактически сортировка выполняется по коду ошибки), Exception code, Used memory, Time started, Time elapsed, Read bytes, Result bytes, Result rows, Read rows, Written rows, Written bytes. Для изменения порядка сортировки данных по значениям столбца используйте иконку
или
в его заголовке.
Над таблицей с запросами расположена панель с индикаторами применяемых в настоящий момент условий сортировки (Sorted by) и фильтрации (Filtered by) данных.
Детали запроса
Чтобы просмотреть детальную информацию о запросе, нажмите на его идентификатор в поле Query ID таблицы запросов на странице Queries.
Открывшаяся страница Query details содержит полный текст запроса, а также текст сообщения об ошибке в случае ее возникновения при обработке запроса. В верхней части страницы также выводятся метрики запроса в столбцах, выбранных на странице Queries через Customize table.