Руководство по анализу производительности запросов для База данных Azure для MySQL — гибкий сервер

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — гибкий сервер

Средство "Анализ производительности запросов" обеспечивает интеллектуальный анализ запросов для баз данных. Наиболее предпочтительными аналитическими сведениями являются шаблоны рабочей нагрузки и более длительные по времени выполнения запросы. Понимание этих аналитических сведений поможет определить запросы, которые нужно оптимизировать для повышения общей производительности и эффективного использования доступных ресурсов.

Анализ производительности запросов позволяет тратить меньше времени на устранение неполадок базы данных, предоставляя следующие возможности:

  • возможность просмотреть список первых N запросов по длительности выполнения и сведения о соответствующих тенденциях;
  • сведения о запросе: просмотр истории выполнения с минимальным, максимальным, средним временем запроса и его стандартным отклонением;
  • возможность просмотреть сведения об использовании ресурсов (ЦП, память и хранилище).

В этой статье описывается, как использовать База данных Azure для MySQL журналы медленных запросов сервера, средство Log Analytics и шаблоны книг для визуализации аналитики производительности запросов для База данных Azure для MySQL гибкого сервера.

Из этого руководства вы узнаете, как выполнять следующие задачи:

  • как настроить журналы медленных запросов с помощью портала или Azure CLI;
  • Настройка диагностики
  • как просмотреть журналы медленных запросов с помощью Log Analytics;
  • как просмотреть журналы медленных запросов с помощью книг.

Необходимые компоненты

Настройка журналов медленных запросов с помощью портала Azure

  1. Войдите на портал Azure.

  2. Выберите гибкий экземпляр сервера База данных Azure для MySQL.

  3. В области слева в разделе Параметры выберите Параметры сервера.

    Screenshot showing the 'Server parameters' list.

  4. Для параметра slow_query_log выберите значение Вкл.

    Screenshot showing the 'slow_query_log' parameter switched to 'ON'.

  5. Информацию о других параметрах, таких как long_query_time и log_slow_admin_statements, см. в документации по журналам медленных запросов.

    Screenshot showing updated values for the remaining slow query log-related parameters.

  6. Выберите Сохранить.

    Screenshot of the 'Save' button for saving changes in the parameter values.

Закройте страницу Параметры сервера, чтобы вернуться к списку журналов.

Настройка журналов медленных запросов с помощью Azure CLI

Кроме того, можно включить и настроить журналы медленных запросов для База данных Azure для MySQL гибкого экземпляра сервера из Azure CLI, выполнив следующую команду:

Важно!

Чтобы обеспечить высокую производительность База данных Azure для MySQL гибкого экземпляра сервера, рекомендуется регистрировать только типы событий и пользователей, необходимые для аудита.

  • Включите журналы медленных запросов.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
  • Задайте для long_query_time время 10 секунд. Этот параметр записывает все запросы, которые выполняются более 10 секунд. Настройте это пороговое значение на основе определения для медленных запросов.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10

Настройка диагностики

Журналы медленных запросов интегрируются с параметрами диагностики Azure Monitor, что позволяет передавать журналы в любой из трех приемников данных:

  • Рабочая область Log Analytics
  • Центр событий
  • Учетная запись хранения

Примечание.

Перед настройкой параметров диагностики необходимо создать приемники данных. Вы можете получить доступ к журналам медленных запросов с помощью настроенных приемников данных. Для появления журналов может потребоваться до 10 минут.

  1. В области слева в разделе Мониторинг выберите Параметры диагностики.

  2. В области Параметры диагностики выберите Добавить параметр диагностики.

    Screenshot of the 'Add diagnostic setting' link on the 'Diagnostic settings' pane.

  3. В поле Имя введите имя для параметров диагностики.

  4. Укажите, в какие пункты назначения (рабочую область Log Analytics, концентратор событий или учетную запись хранения) следует отправить журналы медленных запросов, выбрав соответствующие флажки.

    Примечание.

    В примерах этого учебника журналы медленных запросов отправляются в рабочую область Log Analytics.

  5. В разделе Журнал для типа журнала установите флажок MySqlSlowLogs.

    Screenshot of the 'Diagnostics settings' pane for selecting configuration options.

  6. После настройки приемников данных для передачи журналов медленных запросов нажмите кнопку Сохранить.

    Screenshot of Diagnostic settings configuration options, with Save highlighted.

Просмотр аналитических сведений запросов с помощью Log Analytics

  1. В рабочей области Log Analytics в области слева в разделе Мониторинг выберите Журналы.

  2. Закройте открывшееся окно Запросы.

    Screenshot of the Log Analytics 'Queries' pane.

  3. В окне запроса можно написать запрос, который нужно выполнить. Чтобы найти запросы, выполняющиеся дольше 10 секунд на определенном сервере, мы использовали следующий код:

    AzureDiagnostics
       | where Category == 'MySqlSlowLogs'
       | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
       | where query_time_d > 10
    
  4. Выберите диапазон времени и выполните запрос. Результаты отображены на следующем изображении:

    Screenshot of a slow query log.

Просмотр аналитических сведений о запросе с помощью книг

  1. В портал Azure на левой панели в разделе "Мониторинг" для экземпляра гибкого сервера База данных Azure для MySQL выберите книги.

  2. Выберите шаблон анализа производительности запросов.

    Screenshot showing all workbooks in the workbook gallery.

В книге можно просмотреть следующие визуализации:

  • загрузка запросов;
  • общее количество активных подключений;
  • тенденция медленных запросов (> 10 секунд на выполнение запроса);
  • сведения о медленных запросах;
  • Пять запросов с самым длительным выполнением
  • Сводка медленных запросов по минимальному, максимальному, среднему и стандартному отклонению времени выполнения запроса

Screenshot showing two long queries.

Примечание.

  • Для просмотра сведений об использовании ресурсов можно выбрать шаблон "Обзор".
  • Кроме того, вы можете изменить эти шаблоны и настроить их в соответствии с требованиями. Дополнительные сведения см. в статье Книги Azure.
  • Для быстрого просмотра можно прикрепить книги или запрос Log Analytics к панели мониторинга. Дополнительные сведения см. в статье Создание панели мониторинга на портале Azure.

Анализ производительности запросов предоставляет две метрики, на основе которых вы можете выявить потенциальные проблемы: длительность и число выполнений. Длительные запросы с большой вероятностью могут блокировать ресурсы на долгий период, блокировать работу других пользователей и ограничивать масштабируемость.

В некоторых случаях очень большое число выполнений может привести к увеличению числа круговых путей в сети. Круговые пути влияют на производительность. Они обуславливают задержки в сети и задержки подчиненного сервера. Так что счетчик выполнений помогает выявить часто выполняемые запросы. Эти запросы являются лучшими кандидатами для оптимизации.

Следующие шаги