Задержка чтения с диска

Microsoft.SQLServer.2016.Database.DiskReadLatencyMonitor (UnitMonitor)

Монитор задержки чтения с диска для БД 2016. Примечание: по умолчанию этот монитор отключен. Если нужно его включить, то пользуйтесь переопределениями.

Knowledge Base article:

Сводка

Монитор проверяет задержку для операций чтения с диска и выдает предупреждение.

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

Причины

Проблема может быть вызвана узким местом на диске или конфликтами диска.

Решения

Чтобы устранить эту неполадку, выполните одно или несколько следующих действий.:

Переопределяемые параметры

Название

Описание

Значение по умолчанию

Приоритет предупреждения

Определяет приоритет предупреждения.

Обычные

Серьезность предупреждения

Определяет серьезность предупреждения.

Ошибка

Включено

Включает или отключает рабочий процесс.

Нет

Создает предупреждения

Определяет, создает ли рабочий процесс предупреждения.

Да

Интервал (в секундах)

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

300

Число выборок

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

6

Время синхронизации

Время синхронизации указывается в 24-часовом формате и может быть опущено.

00:19

Порог

Собранное значение будет сравниваться с этим параметром.

40

Время ожидания (в секундах)

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

200

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.Database.DiskReadLatency.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: задержка чтения с диска слишком высокая
База данных "{0}" в экземпляре SQL Server "{1}" на компьютере "{2}" в точке подключения "{3}" имеет слишком большую задержку чтения с диска "{4}". Дополнительные сведения см. на вкладке "Контекст предупреждения".
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.Database.DiskReadLatencyMonitor" Accessibility="Public" Enabled="false" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.Database.DiskReadLatency.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.DiskReadLatencyMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
<AlertParameter4>$Data/Context/ObjectName$</AlertParameter4>
<AlertParameter5>$Data/Context/Value$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<Threshold>40</Threshold>
<NumSamples>6</NumSamples>
<SyncTime/>
</Configuration>
</UnitMonitor>