29.12.20.4 Таблицы сводного анализа гистограмм запросов
Модуль Performance Schema поддерживает сводные таблицы событий запросов, содержащие информацию о минимальной, максимальной и средней задержке выполнения запросов (см. раздел 29.12.20.3, «Таблицы сводного анализа запросов»). Эти таблицы позволяют оценить производительность системы на высоком уровне. Для оценки производительности на более детальном уровне модуль Performance Schema также собирает гистограмму данных задержек выполнения запросов. Эти гистограммы предоставляют дополнительную информацию о распределении задержек.
Раздел 29.12.6, «Таблицы событий запросов Performance Schema» описывает события, на основе которых строятся сводные таблицы запросов. См. данное обсуждение для получения информации о содержании событий запросов, текущих и исторических таблицах событий запросов и о том, как управлять сбором событий запросов, который по умолчанию частично отключён.
Пример информации из гистограммы запросов:
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 для таблиц сводного анализа гистограмм запросов. Оператор усечения устанавливает столбцы 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.