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


Руководство по анализу производительности запросов для База данных 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, выполнив следующую команду:

Внимание

Чтобы гарантировать, что производительность гибкого экземпляра сервера База данных 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.

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

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