Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: База данных SQL Azure Управляемый экземпляр SQL Azure
В этой статье содержатся сведения об использовании журнала диагностики производительности, который создается в Intelligent Insights, для устранения проблем с производительностью Базы данных SQL Azure и Управляемого экземпляра SQL Azure. Здесь также описан формат этого журнала диагностики и содержащиеся в нем данные, которые будут полезны разработчикам. Этот журнал диагностики можно отправить в журналы Azure Monitor, Центры событий Azure, службу хранилища Azure или стороннее решение для разработки настраиваемых функций оповещения и отчетности в соответствии с процедурами DevOps.
Примечание.
Intelligent Insights — это предварительная версия функции, недоступная в следующих регионах: Западная Европа, Северная Европа, западная часть США 1 и восточная часть США 1.
Заголовок журнала
Журнал диагностики использует стандартный формат JSON для вывода результатов Intelligent Insights.
Точное свойство категории для доступа к журналу Intelligent Insights — фиксированное значение "SQLInsights", которое не связано с SQL Insights, которое устарело.
Заголовок журнала является общим и состоит из метки времени (TimeGenerated), которая показывает, когда была создана запись. Он также содержит идентификатор ресурса (ResourceId), который ссылается на конкретную базу данных, к которую относится запись. Категория (Category), уровень (Level) и имя операции (OperationName) являются фиксированными свойствами, значения которых не изменяются. Они указывают на то, что запись журнала является информационной и что она поступает из Intelligent Insights (SQLInsights).
"TimeGenerated" : "2017-9-25 11:00:00", // time stamp of the log entry
"ResourceId" : "database identifier", // value points to a database resource
"Category": "SQLInsights", // fixed property
"Level" : "Informational", // fixed property
"OperationName" : "Insight", // fixed property
Идентификатор проблемы и затронутая база данных
Свойство идентификации проблемы (issueId_d) предоставляет способ уникального отслеживания проблем производительности до устранения. Несколько записей событий в журнале, указывающие статус одной и той же проблемы, будут иметь одинаковый идентификатор проблемы.
Вместе с идентификатором проблемы журнал диагностики сообщает метки времени начала (intervalStartTime_t) и окончанияintervalEndTme_t () определенного события, связанного с проблемой, сообщаемой в журнале диагностики.
Свойство эластичного пулаelasticPoolName_s () указывает, к какой эластичному пулу принадлежит база данных с проблемой. Если база данных не является частью эластичного пула, этому свойству значение не присваивается. База данных, в которой обнаружена проблема, раскрыта в свойстве имени базы данных (databaseName_s).
"intervalStartTime_t": "2017-9-25 11:00", // start of the issue reported time stamp
"intervalEndTme_t":"2017-9-25 12:00", // end of the issue reported time stamp
"elasticPoolName_s" : "", // resource elastic pool (if applicable)
"databaseName_s" : "db_name", // database name
"issueId_d" : 1525, // unique ID of the issue detected
"status_s" : "Active" // status of the issue – possible values: "Active", "Verifying", and "Complete"
Обнаруженные проблемы
Следующий раздел журнала производительности Intelligent Insights содержит проблемы с производительностью, выявленные с помощью встроенного искусственного интеллекта. Выявленные данные указываются в свойствах журнала диагностики формата JSON. Эти обнаружения состоят из категории проблемы, её влияния, затронутых запросов и метрик. Свойства обнаружений могут содержать несколько выявленных проблем с производительностью.
Выявленные проблемы с производительностью отображаются посредством следующей структуры свойства обнаружений.
"detections_s" : [{
"impact" : 1 to 3, // impact of the issue detected, possible values 1-3 (1 low, 2 moderate, 3 high impact)
"category" : "Detectable performance pattern", // performance issue detected, see the table
"details": <Details outputted> // details of an issue (see the table)
}]
В следующей таблице приведены выявляемые шаблоны снижения производительности и сведения, выводимые в журнал диагностики.
Категория выявленной проблемы
Свойство category описывает категорию обнаруживаемых шаблонов производительности. В следующей таблице приведены все возможные категории выявляемых шаблонов снижения производительности. Дополнительные сведения см. в разделе "Устранение неполадок с производительностью с помощью Intelligent Insights".
Сведения, выводимые в файл журнала диагностики, зависят от выявленной проблемы с производительностью.
| Выявляемые шаблоны производительности | Выводимые сведения |
|---|---|
| достижение лимитов ресурсов; | |
| Увеличение рабочей нагрузки | |
| Нехватка памяти | |
| Блокировка | |
| Повышенное значение MAXDOP | |
| Соперничество за блокировку страниц | |
| Отсутствующий индекс | |
| Новый запрос | |
| Необычная статистика ожидания | |
tempdb Спор |
|
| Нехватка пула эластичности DTU | |
| Регрессия плана | |
| Изменение значения конфигурации на уровне базы данных | |
| Медленная работа клиента | |
| Переход на более низкую ценовую категорию |
Воздействие
Свойство impact описывает, сколько обнаруженного поведения способствовало проблеме, имеющейся в базе данных. по шкале от 1 до 3, где 3 — это наибольшая подверженность, 2 — умеренная, а 1 — наименьшая. Значение воздействия может использоваться в качестве входных данных для автоматизации настраиваемых оповещений в зависимости от конкретных потребностей. Затронутые запросы свойств (QueryHashes) предоставляют список хэшей запросов, затронутых определенным обнаружением.
Затронутые запросы
Следующий раздел журнала Intelligent Insights содержит сведения о конкретных запросах, которые были затронуты выявленной проблемой с производительностью. Эта информация раскрыта как массив объектов, внедренных в impact_s свойство. Свойство влияния состоит из сущностей и метрик. Сущности относятся к конкретному запросу (Type: Query). Уникальный хэш запроса раскрыт под свойством Value . Кроме того, каждый указанный запрос сопровождается метрикой и значением, которые описывают выявленную проблему с производительностью.
В следующем примере журнала запрос с хэшом 0x9102EXZ4 был обнаружен из-за увеличенной длительности выполнения (Metric: DurationIncreaseSeconds). Значение секунд указывает, что для выполнения этого конкретного 110 запроса потребовалось 110 секунд. Так как могут быть выявлены несколько запросов, этот раздел журнала может содержать несколько записей о запросах.
"impact" : [{
"entity" : {
"Type" : "Query", // type of entity - query
"Value" : "query hash value", // for example "0x9102EXZ4" query hash value },
"Metric" : "DurationIncreaseSeconds", // measured metric and the measurement unit (in this case seconds)
"Value" : 110 // value of the measured metric (in this case seconds)
}]
Метрики
Единица измерения для каждой сообщаемой метрики предоставляется под metric свойством с возможными значениями секунд, числа и процента. Значение измеренной метрики сообщается в свойстве value .
Свойство DurationIncreaseSeconds предоставляет единицу измерения в секундах. Единица CriticalErrorCount измерения — это число, представляющее число ошибок.
"metric" : "DurationIncreaseSeconds", // issue metric type – possible values: DurationIncreaseSeconds, CriticalErrorCount, WaitingSeconds
"value" : 102 // value of the measured metric (in this case seconds)
Анализ первопричин и рекомендации по повышению производительности
Последняя часть журнала производительности Intelligent Insights содержит результат автоматического анализа первопричин выявленной проблемы снижения производительности. Информация отображается в понятной для восприятия человеком форме в свойстве анализа первопричины (rootCauseAnalysis_s). Везде, где это возможно, в журнале содержатся рекомендации по улучшению.
// example of reported root cause analysis of the detected performance issue, in a human-readable format
"rootCauseAnalysis_s" : "High data IO caused performance to degrade. It seems that this database is missing some indexes that could help."
Вы можете использовать журнал производительности Intelligent Insights с журналами Azure Monitor или сторонним решением для настройки функций оповещения и отчетности в DevOps.
Связанный контент
- Intelligent Insights для мониторинга и устранения неполадок производительности базы данных (предварительная версия)
- Устранение проблем с производительностью с помощью Intelligent Insights — База данных SQL Azure и Управляемый экземпляр SQL Azure
- Мониторинг проблем с производительностью с помощью Аналитики SQL Azure
- сбор и использование данных журнала из ресурсов Azure