Поделиться через


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

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

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

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

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

В этом руководстве вы узнаете, как:

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

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

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

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

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

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

    Снимок экрана, на котором показан список параметров сервера.

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

    Снимок экрана, на котором показано, что для параметра slow_query_log установлено значение

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

    Снимок экрана, на котором показаны обновленные значения для оставшихся параметров, связанных с журналом медленных запросов.

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

    Снимок экрана, на котором показана кнопка

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

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

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

Внимание

Чтобы производительность вашего экземпляра Flexible Server базы данных 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. В области Параметры диагностики выберите Добавить параметр диагностики.

    Снимок экрана, на котором показана ссылка для добавления параметра диагностики в области

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

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

    Примечание.

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

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

    Снимок экрана, на котором показана область

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

    Снимок экрана: параметры конфигурации параметров диагностики с выделенной кнопкой

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

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

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

    Снимок экрана, на котором показана панель

  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. Выберите диапазон времени и выполните запрос. Результаты отображены на следующем изображении:

    Снимок экрана, демонстрирующий журнал медленных запросов.

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

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

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

    Снимок экрана, на котором показаны все книги в коллекции книг.

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

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

Снимок экрана, на котором показаны два длительных запроса.

Примечание.

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

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

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