Spec-Zone.ru › MySQL Shell 8.4

11.8.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-8.4-en/mysql-shell-utilities-debug-slowquery-diagnostics.html

Spec-Zone.ru

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