29.12.20.4 Сводные таблицы гистограмм заявок
Схема производительности поддерживает сводные таблицы событий заявок, содержащие информацию о минимальной, максимальной и средней задержке выполнения запроса (см. Раздел 29.12.20.3, «Сводные таблицы заявок»). Эти таблицы позволяют оценить производительность системы на высоком уровне. Для оценки на более детальном уровне схема производительности также собирает гистограмму данных о задержке выполнения запросов. Эти гистограммы предоставляют дополнительную информацию о распределении задержек.
Раздел 29.12.6, «Таблицы событий заявок схемы производительности» описывает события, на основе которых строятся сводные данные о запросах. Обратитесь к этому разделу для получения информации о содержимом событий заявок, текущих и исторических таблицах событий заявок и о том, как управлять сбором данных о событиях заявок, который по умолчанию частично отключён.
Пример информации из гистограммы заявок:
mysql> SELECT *
FROM performance_schema.events_statements_histogram_by_digest
WHERE SCHEMA_NAME = 'mydb' AND DIGEST = 'bb3f69453119b2d7b3ae40673a9d4c7c'
AND COUNT_BUCKET > 0 ORDER BY BUCKET_NUMBER\G
*************************** 1. row ***************************
SCHEMA_NAME: mydb
DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c
BUCKET_NUMBER: 42
BUCKET_TIMER_LOW: 66069344
BUCKET_TIMER_HIGH: 69183097
COUNT_BUCKET: 1
COUNT_BUCKET_AND_LOWER: 1
BUCKET_QUANTILE: 0.058824
*************************** 2. row ***************************
SCHEMA_NAME: mydb
DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c
BUCKET_NUMBER: 43
BUCKET_TIMER_LOW: 69183097
BUCKET_TIMER_HIGH: 72443596
COUNT_BUCKET: 1
COUNT_BUCKET_AND_LOWER: 2
BUCKET_QUANTILE: 0.117647
*************************** 3. row ***************************
SCHEMA_NAME: mydb
DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c
BUCKET_NUMBER: 44
BUCKET_TIMER_LOW: 72443596
BUCKET_TIMER_HIGH: 75857757
COUNT_BUCKET: 2
COUNT_BUCKET_AND_LOWER: 4
BUCKET_QUANTILE: 0.235294
*************************** 4. row ***************************
SCHEMA_NAME: mydb
DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c
BUCKET_NUMBER: 45
BUCKET_TIMER_LOW: 75857757
BUCKET_TIMER_HIGH: 79432823
COUNT_BUCKET: 6
COUNT_BUCKET_AND_LOWER: 10
BUCKET_QUANTILE: 0.625000
...
Например, в строке 3 эти значения указывают, что 23,52% запросов выполняются менее чем за 75,86 микросекунд:
BUCKET_TIMER_HIGH: 75857757
BUCKET_QUANTILE: 0.235294
В строке 4 эти значения указывают, что 62,50% запросов выполняются менее чем за 79,44 микросекунд:
BUCKET_TIMER_HIGH: 79432823
BUCKET_QUANTILE: 0.625000
Каждая сводная таблица гистограмм заявок содержит один или несколько группирующих столбцов, указывающих, как таблица агрегирует события:
-
events_statements_histogram_by_digestсодержит столбцыSCHEMA_NAME,DIGESTиBUCKET_NUMBER:Столбцы
SCHEMA_NAMEиDIGESTидентифицируют строку сведений о запросе в таблицеevents_statements_summary_by_digest.Строки
events_statements_histogram_by_digestс одинаковыми значениямиSCHEMA_NAMEиDIGESTсоставляют гистограмму для этой схемы/совокупности данных.В рамках данной гистограммы столбец
BUCKET_NUMBERуказывает номер ячейки.
events_statements_histogram_globalимеет столбецBUCKET_NUMBER. Эта таблица обобщает задержки по всем схемам и значениям совокупных данных, используя одну гистограмму. СтолбецBUCKET_NUMBERуказывает номер ячейки в этой глобальной гистограмме.
Гистограмма состоит из N ячеек, где каждая строка представляет одну ячейку, а номер ячейки указан в столбце BUCKET_NUMBER. Номера ячеек начинаются с 0.
Каждая сводная таблица гистограмм заявок содержит эти сводные столбцы с агрегированными значениями:
-
BUCKET_TIMER_LOW,BUCKET_TIMER_HIGHКоличество заявок, у которых задержка, измеренная в пикосекундах, находится между
BUCKET_TIMER_LOWиBUCKET_TIMER_HIGH:Значение
BUCKET_TIMER_LOWдля первой ячейки (BUCKET_NUMBER= 0) равно 0.Значение
BUCKET_TIMER_LOWдля ячейки (BUCKET_NUMBER=k) равно значениюBUCKET_TIMER_HIGHдля предыдущей ячейки (BUCKET_NUMBER=k−1).Последняя ячейка — это «ловушка» для заявок, у которых задержка превышает предыдущие ячейки в гистограмме.
-
COUNT_BUCKETКоличество заявок, у которых задержка находится в интервале от
BUCKET_TIMER_LOWдо, но не включая,BUCKET_TIMER_HIGH. -
COUNT_BUCKET_AND_LOWERКоличество заявок, у которых задержка находится в интервале от 0 до, но не включая,
BUCKET_TIMER_HIGH. -
BUCKET_QUANTILEДоля заявок, попадающих в эту или более раннюю ячейку. Эта доля по определению соответствует
COUNT_BUCKET_AND_LOWER / SUM(COUNT_BUCKET)и отображается для удобства.
Сводные таблицы гистограмм заявок имеют следующие индексы:
-
events_statements_histogram_by_digest:Уникальный индекс по (
SCHEMA_NAME,DIGEST,BUCKET_NUMBER)
-
events_statements_histogram_global:Первичный ключ по (
BUCKET_NUMBER)
Разрешено использование TRUNCATE TABLE для сводных таблиц гистограмм заявок. Оператор TRUNCATE устанавливает столбцы COUNT_BUCKET и COUNT_BUCKET_AND_LOWER в 0.
Кроме того, удаление events_statements_summary_by_digest неявно удаляет events_statements_histogram_by_digest, а удаление events_statements_summary_global_by_event_name неявно удаляет events_statements_histogram_global.
© 2025 Oracle
Licensed under the GPLv2 License.