Spec-Zone.ru › MySQL Shell 9.2

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": место сохранения архива диагностики. Если пусто, архив сохраняется в текущем каталоге.

    "query": SQL запрос для анализа.

    "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.
https://docs.oracle.com/cd/E17952_01/mysql-shell-9.2-en/mysql-shell-utilities-debug-slowquery-diagnostics.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API