Руководство по анализу производительности запросов для База данных Azure для MySQL — гибкий сервер
Средство "Анализ производительности запросов" обеспечивает интеллектуальный анализ запросов для баз данных. Наиболее предпочтительными аналитическими сведениями являются шаблоны рабочей нагрузки и более длительные по времени выполнения запросы. Понимание этих аналитических сведений поможет определить запросы, которые нужно оптимизировать для повышения общей производительности и эффективного использования доступных ресурсов.
Анализ производительности запросов позволяет тратить меньше времени на устранение неполадок базы данных, предоставляя следующие возможности:
- возможность просмотреть список первых N запросов по длительности выполнения и сведения о соответствующих тенденциях;
- сведения о запросе: просмотр истории выполнения с минимальным, максимальным, средним временем запроса и его стандартным отклонением;
- возможность просмотреть сведения об использовании ресурсов (ЦП, память и хранилище).
В этой статье описывается использование журналов медленных запросов База данных Azure для MySQL гибкого сервера, средства Log Analytics и шаблонов книг для визуализации аналитики производительности запросов для База данных Azure для MySQL гибкого сервера.
Из этого руководства вы узнаете, как выполнять следующие задачи:
- как настроить журналы медленных запросов с помощью портала или Azure CLI;
- Настройка диагностики
- как просмотреть журналы медленных запросов с помощью Log Analytics;
- как просмотреть журналы медленных запросов с помощью книг.
Необходимые компоненты
- Краткое руководство. Создание экземпляра База данных Azure для MySQL с помощью портал Azure.
- Создание рабочей области Log Analytics.
Настройка журналов медленных запросов с помощью портала Azure
Войдите на портал Azure.
Выберите экземпляр гибкого сервера База данных Azure для MySQL.
В области слева в разделе Параметры выберите Параметры сервера.
Для параметра slow_query_log выберите значение Вкл.
Информацию о других параметрах, таких как long_query_time и log_slow_admin_statements, см. в документации по журналам медленных запросов.
Выберите Сохранить.
Закройте страницу Параметры сервера, чтобы вернуться к списку журналов.
Настройка журналов медленных запросов с помощью 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 минут.
В области слева в разделе Мониторинг выберите Параметры диагностики.
В области Параметры диагностики выберите Добавить параметр диагностики.
В поле Имя введите имя для параметров диагностики.
Укажите, в какие пункты назначения (рабочую область Log Analytics, концентратор событий или учетную запись хранения) следует отправить журналы медленных запросов, выбрав соответствующие флажки.
Примечание.
В примерах этого учебника журналы медленных запросов отправляются в рабочую область Log Analytics.
В разделе Журнал для типа журнала установите флажок MySqlSlowLogs.
После настройки приемников данных для передачи журналов медленных запросов нажмите кнопку Сохранить.
Просмотр аналитических сведений запросов с помощью Log Analytics
В рабочей области Log Analytics в области слева в разделе Мониторинг выберите Журналы.
Закройте открывшееся окно Запросы.
В окне запроса можно написать запрос, который нужно выполнить. Чтобы найти запросы, выполняющиеся дольше 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
Выберите диапазон времени и выполните запрос. Результаты отображены на следующем изображении:
Просмотр аналитических сведений о запросе с помощью книг
На портале Azure в области слева в разделе Мониторинг для экземпляра гибкого сервера Базы данных Azure для MySQL выберите Книги.
Выберите шаблон анализа производительности запросов.
В книге можно просмотреть следующие визуализации:
- загрузка запросов;
- общее количество активных подключений;
- тенденция медленных запросов (> 10 секунд на выполнение запроса);
- сведения о медленных запросах;
- Пять запросов с самым длительным выполнением
- Сводка медленных запросов по минимальному, максимальному, среднему и стандартному отклонению времени выполнения запроса
Примечание.
- Для просмотра сведений об использовании ресурсов можно выбрать шаблон "Обзор".
- Кроме того, вы можете изменить эти шаблоны и настроить их в соответствии с требованиями. Дополнительные сведения см. в статье Книги Azure.
- Для быстрого просмотра можно прикрепить книги или запрос Log Analytics к панели мониторинга. Дополнительные сведения см. в статье Создание панели мониторинга на портале Azure.
Анализ производительности запросов предоставляет две метрики, на основе которых вы можете выявить потенциальные проблемы: длительность и число выполнений. Длительные запросы с большой вероятностью могут блокировать ресурсы на долгий период, блокировать работу других пользователей и ограничивать масштабируемость.
В некоторых случаях очень большое число выполнений может привести к увеличению числа круговых путей в сети. Круговые пути влияют на производительность. Они обуславливают задержки в сети и задержки подчиненного сервера. Так что счетчик выполнений помогает выявить часто выполняемые запросы. Эти запросы являются лучшими кандидатами для оптимизации.