SQL Server 的 Buffer Manager 物件
Buffer Manager 物件提供了可監視 SQL Server 使用情形的計數器:
要儲存資料頁的記憶體。
監視 SQL Server 讀取與寫入資料庫頁面時之實體 I/O 的計數器。
監視 SQL Server 所使用的記憶體與計數器有助於判斷:
是否因實體記憶體不足而產生瓶頸。 是否無法將經常存取的資料儲存在快取中,使 SQL Server 必須從磁碟中擷取資料。
是否可藉由增加更多記憶體,或讓資料快取或 SQL Server 內部結構可使用更多記憶體,而改善查詢效能。
SQL Server 須自磁碟中讀取資料的頻率。 和其他的作業相比 (例如記憶體存取),實體 I/O 消耗的時間更多。 將實體 I/O 最小化可改善查詢的效能。
Buffer Manager 效能物件
下表描述 SQL Server Buffer Manager 效能物件。
SQL Server Buffer Manager 計數器 |
說明 |
---|---|
Buffer cache hit ratio |
表示不需讀取磁碟即可在緩衝區快取中找到之頁面的百分比。 此比率是過去數千個分頁存取中,快取叫用總數除以快取查閱所得的結果。 時間一久,比率的變動會越來越小。 從快取讀取遠比從磁碟讀取節省成本,因此您會希望此比率越高越好。 通常,您可以藉由增加 SQL Server 可用的記憶體數量,來提高緩衝區快取叫用比率。 |
Checkpoint pages/sec |
表示每秒經由檢查點或其他導致所有變更分頁排清至磁碟的作業所轉存至磁碟的分頁數。 |
Database pages |
表示具有資料庫內容之緩衝集區的頁面數。 |
Free list stalls/sec |
表示每秒鐘必須等待可用頁面的要求數。 |
Lazy writes/sec |
表示每秒鐘由緩衝區管理員的延遲寫入器所寫入的緩衝區數目。 「延遲寫入器」(Lazy Writer) 是一種系統處理序,可排清 Dirty 批次和陳舊的緩衝區 (這種緩衝區包含必須重新寫入磁碟、以便讓緩衝區重新用於其他頁面的變更),使其可供使用者處理序使用。 使用延遲寫入器,即不需經常執行檢查點來建立可用的緩衝區。 |
Page life expectancy |
表示頁面停留在這個沒有參考之緩衝集區中的秒數。 |
Page lookups/sec |
表示每秒鐘在緩衝集區中尋找頁面的要求數。 |
Page reads/sec |
表示每秒鐘發出的實體資料庫頁面讀取數。 這項統計資料可顯示所有資料庫的實體頁面讀取總數。 由於實體 I/O 成本很高,因此您可以藉由使用較大的資料快取、智慧型索引、和較有效的查詢,或藉由變更資料庫設計,盡可能降低成本。 |
Page writes/sec |
表示每秒鐘發出的實體資料庫頁面寫入數。 |
Readahead pages/sec |
表示每秒鐘預期會使用而讀取的頁數。 |
請參閱
參考
sys.dm_os_performance_counters (Transact-SQL)