Функция Intelligent Insights использует искусственный интеллект для мониторинга производительности базы данных и устранения связанных с ней проблем (предварительная версия)

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных SQL Azure Управляемый экземпляр SQL Azure

Intelligent Insights в базе данных SQL Azure и Управляемый экземпляр SQL Azure позволяют узнать, что происходит с производительностью базы данных.

Intelligent Insights использует встроенный аналитический механизм базы данных постоянного отслеживания использования базы данных с помощью искусственного интеллекта и обнаружения аварийных событий, снижающих производительность. После обнаружения выполняется подробный анализ, после чего полученные результаты записываются в журнал ресурсов Intelligent Insights (он называется SQLInsights) вместе с интеллектуальной оценкой проблем. Эта оценка состоит из анализа первопричин проблемы с производительностью базы данных и возможных рекомендаций по повышению производительности.

Что Intelligent Insights может сделать для вас?

Intelligent Insights — уникальная функция встроенного аналитического механизма Azure, который предлагает следующие возможности:

  • Упреждающий мониторинг
  • специализированная аналитика производительности;
  • заблаговременное выявление снижения производительности базы данных;
  • анализ первопричин обнаруженных проблем;
  • рекомендации по повышению производительности;
  • возможность развертывания сотен тысяч баз данных;
  • положительное влияние на ресурсы DevOps и совокупную стоимость владения.

Как работает Intelligent Insights?

Intelligent Insights анализирует производительность базы данных и сравнивает ее рабочую нагрузку за последний час с базовыми показателями рабочей нагрузки за последние семь дней. Рабочая нагрузка базы данных состоит из запросов, которые считаются наиболее важными для производительности базы данных, такие как наиболее повторяющиеся запросы и запросы наибольшего размера. Так как каждая база данных является уникальной ввиду своей структуры, данных, использования и назначения, все создаваемые базовые показатели рабочей нагрузки являются уникальными для такой рабочей нагрузки. Независимо от базовых показателей рабочей нагрузки Intelligent Insights также отслеживает абсолютные рабочие пороговые значения и обнаруживает проблемы, связанные с повышенным временем ожидания, критическими исключениями и параметризацией запросов, которые могут негативно повлиять на производительность.

После обнаружения проблемы снижения производительности в нескольких наблюдаемых метриках с помощью искусственного интеллекта выполняется анализ. Его результаты записываются в журнал диагностики. Они содержат ценную аналитику по операциям с базой данных. Intelligent Insights позволяет легко отслеживать проблемы с производительностью базы данных с момента их выявления и до устранения. Каждая обнаруженная проблема отслеживается по всему жизненному циклу — от изначального обнаружения проблемы и проверки улучшения производительности до ее решения.

Рабочий процесс анализа производительности базы данных

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

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

Свойство Сведения
сведения о базе данных; Метаданные базы данных, для которой была обнаружена аналитика. Например, URI ресурса.
Наблюдаемый диапазон времени Время начала и окончания периода обнаруженной аналитики.
Затронутые метрики Метрики, вызвавшие создание аналитики:
  • Увеличение длительности запросов [с].
  • Повышенное время ожидания [с].
  • Запросы, время ожидания которых истекло [процент].
  • Запросы, завершившиеся сбоем [процент].
Значение последствий Значение измеренной метрики.
Затронутые запросы и коды ошибок Хэш запроса или код ошибки. Их можно легко сопоставить с затронутыми запросами. Предоставляются метрики увеличения продолжительности запросов, времени ожидания, счетчиков времени ожидания или кодов ошибок.
Обнаружения Проблема обнаруживается в базе данных во время события. Существуют 15 шаблонов обнаружения. Дополнительные сведения см. в статье Устранение проблем с производительностью базы данных SQL Azure с помощью Intelligent Insights.
Анализ первопричин Анализ первопричин обнаруженной проблемы в понятном для понимания формате. Некоторые аналитические данные могут содержать рекомендации по улучшению производительности, если это возможно.

Практические сведения об использовании Intelligent Insights с решением "Аналитика SQL Azure" и типичные сценарии подобного применения см. в видео:

Intelligent Insights является непревзойденным решением для обнаружения и устранения проблем производительности баз данных. Чтобы устранить проблемы производительности базы данных с помощью Intelligent Insights, ознакомьтесь с разделом Устранение проблем с производительностью с помощью Intelligent Insights.

Параметры функции Intelligent Insights

Доступны следующие параметры функции Intelligent Insights.

Параметр Intelligent Insights Поддержка Базы данных SQL Azure Поддержка Управляемого экземпляра SQL Azure
Настройка Intelligent Insights. Настройка анализа баз данных в Intelligent Insights. Да Да
Поток данных для аналитики SQL Azure. Поток данных для аналитики SQL Azure. Да Да
Поток данных для центров событий Azure. Поток данных для центров событий для дальнейшей интеграции пользователей. Да Да
Поток данных для службы хранилища Azure. Поток данных для службы хранилища Azure для дальнейшего анализа и долгосрочного архивирования. Да Да

Примечание

Intelligent Insights — это предварительная версия функции, недоступная в следующих регионах: Западной Европе, Северной Европе, Западной части США 1 и Восточной части США 1.

Настройка экспорта в журнале Intelligent Insights

Выходные данные Intelligent Insights могут передаваться в виде потока в одно из нескольких мест назначений для анализа.

  • Данные, выводимые в рабочую область Log Analytics, можно использовать с аналитикой SQL Azure для просмотра аналитических сведений через пользовательский интерфейс портала Azure. Это интегрированное решение Azure, а также наиболее типичный способ просмотра аналитических сведений.
  • Выходную потоковую передачу в Центры событий Azure можно использовать для разработки пользовательских сценариев мониторинга и оповещения.
  • Выходную потоковую передачу в службу хранилища Azure можно использовать для разработки пользовательских приложений, например для создания пользовательских отчетов, долгосрочной архивации данных и т. д.

Чтобы интегрировать Аналитику SQL Azure, Центры событий Azure, службу хранилища Azure и сторонние продукты для передачи в них данных, нужно сначала включить ведение журнала Intelligent Insights (журнал SQLInsights) в колонке "Параметры диагностики" для базы данных, а затем настроить потоковую передачу данных журнала Intelligent Insights в одно из этих мест назначения.

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

Настройка для использования с Аналитикой SQL Azure

Решение "Аналитика SQL Azure" предоставляет графический пользовательский интерфейс, возможности для создания отчетов и отправки оповещений о производительности базы данных, используя данные журнала ресурсов Intelligent Insights.

Добавление Аналитики SQL Azure на панель мониторинга портала Azure из панели мониторинга и создание рабочей области, см. раздел о настройке Аналитики SQL Azure

Чтобы использовать Intelligent Insights с Аналитикой SQL Azure, настройте потоковую передачу данных журнала Intelligent Insights в рабочую область Аналитики SQL Azure, которую вы создали на предыдущем этапе, как описано в статье Ведение журналов метрик и диагностики.

Ниже приведен пример просмотра данных Intelligent Insights в Аналитике SQL Azure:

Отчет Intelligent Insights

Настройка для использования с Центрами событий

Чтобы использовать Intelligent Insights с Центрами событий, настройте потоковую передачу данных журнала Intelligent Insights в Центры событий, как описано в разделе [Ведение журналов метрик и диагностики и Потоковая передача журналов диагностики Azure Центры событий](metrics-diagnostic-telemetry-logging-streaming-export-configure.md).

Сведения об использовании Центров событий для настраиваемого мониторинга и оповещений см. в разделе Метрики и журналы диагностики в Центрах событий.

Настройка для использования со службой хранилища Azure

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

Настраиваемая интеграция журнала Intelligent Insights

Чтобы использовать Intelligent Insights с инструментами сторонних производителей или для разработки настраиваемых оповещений и мониторинга, ознакомьтесь с разделом Использование журнала диагностики производительности Intelligent Insights для базы данных SQL Azure.

Метрики обнаружения

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

  • Query duration (Длительность запросов)
  • Запросы, время ожидания которых истекло
  • повышенное время ожидания;
  • запросы, завершившиеся сбоем.

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

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

Все метрики учитываются вместе в различных сочетаниях благодаря научной модели данных, позволяющей классифицировать каждую обнаруженную проблему с производительностью. Intelligent Insight предоставляет следующие сведения:

  • сведения об обнаруженной проблеме с производительностью;
  • анализ первопричин обнаруженных проблем;
  • Рекомендации по улучшению производительности отслеживаемой базы данных, если это возможно.

Query duration (Длительность запросов)

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

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

Журнал диагностики Intelligent Insights содержит хэш запроса, снижающего производительность, который указывает, связано ли это снижение с увеличением времени компиляции или выполнения запроса. Он также содержит увеличенную длительность запроса.

Запросы, время ожидания которых истекло

Модель снижения производительности из-за истечения времени ожидания запросов анализирует отдельные запросы и выявляет увеличение числа случаев истечения времени ожидания на уровне выполнения запроса, а также общее число случаев истечения времени ожидания запросов на уровне базы данных по сравнению с периодом базовых показателей производительности.

Некоторые из запросов могут истекать даже до того, как достигнут этапа исполнения. Встроенный аналитический механизм также измеряет и анализирует (сравнивая прерванные рабочие роли и отправленные запросы) все запросы, которые достигли базы данных, вне зависимости от того, достигли ли они этапа выполнения.

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

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

Повышенное время ожидания

Модель повышенного времени ожидания отслеживает отдельные запросы к базе данных. Она выявляет необычно высокие значения статистики по времени ожидания запросов, превышающие абсолютные пороговые значения, управляемые системой. Ниже приведены метрики запросов с повышенным временем ожидания, отслеживаемые с помощью Статистики времени ожидания из хранилища запросов (sys.query_store_wait_stats):

  • достижение лимитов ресурсов;
  • достижение лимитов ресурсов эластичного пула;
  • чрезмерное количество рабочих потоков или потоков сеансов;
  • чрезмерная блокировка базы данных;
  • Нехватка памяти
  • прочая статистика времени ожидания.

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

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

Прочая статистика времени ожидания указывает, что различные метрики, измеряемые с помощью компонента Query Store Wait Stats, превысили абсолютное пороговое значение. Это является признаком снижения производительности рабочей нагрузки.

После обнаружения повышенного времени ожидания, в зависимости от доступных данных, в журнал диагностики Intelligent Insights записываются хэши запросов, снижающих производительность, и запросов, производительность которых понизилась. В него также добавляются сведения о метриках, выявивших запросы с повышенным временем ожидания выполнения и измеривших это время.

Запросы с ошибками

Модель снижения производительности из-за запросов с ошибками отслеживает отдельные запросы и выявляет увеличение количества запросов с ошибками по сравнению с периодом базовых показателей. Эта модель также отслеживает критические исключения, которые достигли абсолютных пороговых значений, которыми управляет встроенный аналитический механизм. Система автоматически учитывает количество запросов к базе данных и изменения рабочей нагрузки за отслеживаемый период.

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

Журнал Intelligent Insights выводит количество запросов с ошибками. Указывает, связано ли снижение производительности с увеличением запросов с ошибками или достижением порога отслеживаемого критического исключения. Он также содержит измеренное время снижения производительности.

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

Дальнейшие действия