Коэффициент попаданий в кэш буфера

Microsoft.SQLServer.2016.DBEngine.BufferCacheHitRatioMonitor (UnitMonitor)

Коэффициент попадания в буферный кэш для ядра СУБД 2016

Knowledge Base article:

Сводка

Монитор коэффициента попадания в буферный кэш для ядра СУБД SQL 2016

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

Причины

Нулевое значение означает узкое место в памяти — SQL Server не может эффективно кэшировать эти страницы данных в памяти; операций чтения с диска относительно много.

Решения

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

Название

Описание

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

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

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

Обычные

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

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

Ошибка

Включено

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

Да

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

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

Да

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

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

300

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

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

6

Порог

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

0

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBEngine.BufferCacheHitRatio.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: коэффициент попадания в буферный кэш слишком низкий
Коэффициент попаданий в кэш буфера экземпляра SQL "{0}" на компьютере "{1}" слишком мал. Дополнительные сведения см. на вкладке "Контекст предупреждения".
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.DBEngine.BufferCacheHitRatioMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBEngine.BufferCacheHitRatio.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.DBEngine.BufferCacheHitRatioMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<Threshold>0</Threshold>
<NumSamples>6</NumSamples>
</Configuration>
</UnitMonitor>