MSSQL 2008:收集緩衝區快取點擊率

Microsoft.SQLServer.2008.BufferCacheHitRatio (Rule)

收集每個 SQL 2008 資料庫引擎執行個體的 Windows "Buffer Cache Hit Ratio" 效能計數器。

Knowledge Base article:

摘要

不需讀取磁碟即可在緩衝區快取中找到之頁面的百分比。此速率是在存取過去數千個分頁期間,快取命中總數除以快取查閱總數所得的結果。時間一久,速率的變動會愈來愈小。因為從快取進行讀取遠比從磁碟進行讀取節省成本,因此您會希望此速率愈高愈好。一般來說,可以加大 SQL Server 的可用記憶體數量,來提高緩衝區快取命中率。

可覆寫的參數

名稱

描述

預設值

已啟用

啟用或停用該工作流程。

頻率 (秒)

執行工作流程的週期性時間間隔 (秒)。

900

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryPerformanceCollection
EnabledTrue
Instance Name$Target/Property[Type="SQL!Microsoft.SQLServer.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 Microsoft.SQLServer.SQLDefaultAccount
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.2008.BufferCacheHitRatio" Enabled="true" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="SystemPerf!System.Performance.DataProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Buffer cache hit ratio</CounterName>
<ObjectName>$Target/Property[Type="SQL!Microsoft.SQLServer.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>