MSSQL 2016: バッファー キャッシュ ヒット率

Microsoft.SQLServer.2016.BufferCacheHitRatio (Rule)

SQL 2016 DB エンジンの各インスタンスについて、Windows の "Buffer Cache Hit Ratio" パフォーマンス カウンターを収集します。

Knowledge Base article:

概要

バッファー キャッシュ内に存在し、ディスクから読み取る必要がないページの比率。この比率は、最近の数千のページ アクセスでのキャッシュ ヒットの総数を、キャッシュ参照の総数で割って算出します。長い時間が経過すると、この比率はほとんど変化しなくなります。キャッシュから読み取る方が、ディスクから読み取るよりもコストが低いので、この比率が高くなるようにします。一般に、SQL Server が使用できるメモリの量を増やすことで、バッファー キャッシュ ヒット率を増加させることができます。

上書き可能なパラメーター

名前

説明

既定値

有効

ワークフローを有効または無効にします。

はい

頻度 (秒)

ワークフローを実行する定期的な実行間隔 (秒)。

900

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
CategoryPerformanceCollection
EnabledTrue
Instance Name$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/PerformanceCounterObject$:Buffer Manager
Counter NameBuffer cache hit ratio
Frequency900
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource System.Performance.DataProvider Default
PerfMapper ConditionDetection System.Performance.DataGenericMapper Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SQLServer.2016.BufferCacheHitRatio" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="SystemPerf!System.Performance.DataProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Buffer cache hit ratio</CounterName>
<ObjectName>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/PerformanceCounterObject$:Buffer Manager</ObjectName>
<InstanceName/>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
</DataSource>
</DataSources>
<ConditionDetection ID="PerfMapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>SQL DB Engine:Buffer Manager</ObjectName>
<CounterName>$Data/CounterName$</CounterName>
<InstanceName/>
<Value>$Data/Value$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>