12.9.3 Утилита collectSlowQueryDiagnostics
Описание утилиты
util.debug.collectSlowQueryDiagnostics() выполняет несколько итераций отчета о диагностике на вашем сервере MySQL, позволяя вам проанализировать различные аспекты сервера во время обработки заданного запроса.
Отчет о диагностике генерируется как zip-архив в локальный каталог или в указанный путь.
Утилита генерирует файлы в форматах TSV и YAML.
Требования и ограничения
Для экспорта, используя утилиту сбора диагностики, применяются следующие требования:
Требуется MySQL 5.7 или более поздняя версия.
Утилита должна запускаться от имени пользователя root.
Запуск утилиты
Утилита диагностики имеет следующий синтаксис:
util.debug.collectSlowQueryDiagnostics("path", "query", {options})
Возвращаемые данные этой утилиты также включают в себя данные, собираемые по умолчанию util.debug.collectDiagnostics() и util.debug.collectHighLoadDiagnostics().
-
": место сохранения архива диагностики. Если пусто, архив сохраняется в текущем каталоге.path"": SQL запрос для анализа.query"": словарь необязательных аргументов. См. Параметры для сбора диагностики.options"
В дополнение к содержимому диагностики util.debug.collectHighLoadDiagnostics(), util.debug.collectSlowQueryDiagnostics собирает следующую информацию:
Результат запроса в формате
EXPLAIN.Трассировку оптимизатора запроса.
DDL таблиц, используемых в запросе.
Предупреждения, сгенерированные запросом.
Параметры для сбора диагностики
- delay:
number Количество секунд ожидания между итерациями сбора данных. По умолчанию 30. Данные собираются только до тех пор, пока выполняется заданный запрос. По завершении запроса сбор данных прекращается.
- innodbMutex: true | false
Если true, также собирается результат
SHOW ENGINE INNODB MUTEX. Эта команда отключена по умолчанию, так как может повлиять на производительность в рабочем окружении.- pfsInstrumentation: [current | medium | full]
-
Определяет, какие инструменты и потребители Performance Schema используются. Возможные значения:
current: По умолчанию. Текущие включенные инструменты и потребители Performance Schema. Конфигурация сервера не изменяется.medium: Включает всех потребителей, кроме%historyи%history_long, и все инструменты, кромеwait/synch/%.full: Включает всех потребителей и все инструменты.
- customSql:
array -
Одна или несколько SQL-команд для выполнения. Вы можете управлять временем выполнения команд с помощью следующих префиксов:
BEFORE, или ничего: По умолчанию. Специальные SQL-команды выполняются один раз перед началом итераций сбора метрик.AFTER: Специальные SQL-команды выполняются один раз по завершении итераций сбора метрик.DURING: Специальные SQL-команды выполняются один раз на каждой итерации сбора метрик.
Например:
{"customSql": ["statement1", "statement2", "statement3"]} - customShell:
array -
Одна или несколько команд оболочки (DOS, BOURNE и т. д.) для выполнения. Вы можете управлять временем выполнения команд с помощью следующих префиксов:
BEFORE: По умолчанию. Команда(ы) выполняется один раз перед началом итераций сбора метрик.DURING: Команда(ы) выполняется один раз на каждой итерации сбора метрик.AFTER: Команда(ы) выполняется один раз по завершении итераций сбора метрик.
Например:
{"customShell": ["command1", "command2", "command3"]}ВажноЭти команды выполняются с правами пользователя, запускающего MySQL Shell, и должны использоваться с осторожностью.
© 2025 Oracle
Licensed under the GPLv2 License.