MSSQL 2016: 버퍼 캐시 적중률

Microsoft.SQLServer.2016.BufferCacheHitRatio (Rule)

각 SQL 2016 DB 엔진 인스턴스에 대한 Windows "버퍼 캐시 적중률" 성능 카운터를 수집합니다.

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>