Профилирование запроса с использованием Performance Schema на RDS Aurora MySQL - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь профилировать запрос, выполнение которого занимает 40 секунд на моем RDS Aurora MySQL с активированной схемой производительности.Я надеялся, что смогу получить полное представление о том, где было потрачено время выполнения, используя запросы к таблицам events_statements_history_long, events_stages_history_long и events_waits_history_long.

Я активировал все в таблицах setup_instruments & setup_consumers, чтобы в начале получить как можно больше данных.Я также обновил таблицу threads, чтобы отслеживать только мой пользовательский поток.

В таблице events_statements_history_long указано, что общая продолжительность моего запроса составила 40,658176 секунд, но когда я пытаюсь суммировать время, используя таблицы events_stages_history_long & events_waits_history_long, используя предоставленные event_id, я получаю только 1,4 и 0,001 секунды.соответственно.Так что я не вижу, что он делал в оставшиеся 39 секунд.Если бы это время было потрачено на отправку данных клиенту, я предполагаю, что они будут записаны в таблицу events_stages_history_long.

events_statements_history_long

SELECT
  EVENT_ID,
  TRUNCATE(TIMER_WAIT / 1000000000000, 6) AS Duration,
  SQL_TEXT
FROM performance_schema.events_statements_history_long
WHERE SQL_TEXT LIKE '%UNIQUE_THING%';

events_statements_history_long output events_stages_history_long

SELECT
    sum(TRUNCATE(TIMER_WAIT / 1000000000000, 6)) AS total
FROM performance_schema.events_stages_history_long
WHERE NESTING_EVENT_ID = 13348585;

events_stages_history_long output

events_waits_history_long

SELECT sum(TRUNCATE(TIMER_WAIT / 1000000000000, 6)) AS total
FROM performance_schema.events_waits_history_long
WHERE NESTING_EVENT_ID = 13348585;

events_waits_history_long output

Я что-то здесь упускаю?Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...