SQL Server 的 Buffer Manager 物件

適用於:SQL Server

Buffer Manager 物件提供了可監視 SQL Server 使用情形的計數器:

  • 要儲存資料頁的記憶體。

  • 在 SQL Server 讀取和寫入資料庫頁面時,監視實體 I/O 的計數器。

  • 緩衝集區延伸模組,透過使用快速靜態儲存區 (例如固態硬碟 (SSD)) 來擴充緩衝快取。

如監視 SQL Server 所使用的記憶體與計數器,有助於判斷:

  • 是否因實體記憶體不足而產生瓶頸。 是否無法將經常存取的資料儲存在快取中,使 SQL Server 必須從磁碟中擷取資料。

  • 是否可藉由增加更多記憶體,或讓資料快取或 SQL Server 內部結構可使用更多記憶體,而改善查詢效能。

  • SQL Server 須自磁碟中讀取資料的頻率。 和其他的作業相比 (例如記憶體存取),實體 I/O 消耗的時間更多。 將實體 I/O 最小化可改善查詢的效能。

Buffer Manager 效能物件

下表描述 SQL Server Buffer Manager 效能物件。

SQL Server Buffer Manager 計數器 描述
Background writer pages/sec 為了強制執行復原間隔設定而排清的頁數。
Buffer cache hit ratio 表示不需讀取磁碟即可在緩衝區快取中找到之頁面的百分比。 此比率是過去數千個分頁存取中,快取叫用總數除以快取查閱所得的結果。 時間一久,比率的變動會越來越小。 從快取讀取遠比從磁碟讀取節省成本,因此您會希望此比率越高越好。 通常,您可以藉由增加 SQL Server 可用的記憶體數量,或使用緩衝集區延伸功能,來提高緩衝快取命中率。
Buffer cache hit ratio base 僅供內部使用。
Checkpoint pages/sec 表示每秒經由檢查點或其他導致所有變更分頁排清至磁碟的作業所轉存至磁碟的分頁數。
Database pages 表示具有資料庫內容之緩衝集區的頁面數。
延伸模組配置的頁面 緩衝集區延伸模組檔案中非可用的快取頁面總數。
延伸模組可用頁面 緩衝集區延伸模組檔案中可用的快取頁面總數。
使用中的延伸模組百分比 緩衝區管理員頁面所佔用之緩衝集區延伸模組分頁檔的百分比。
延伸模組未完成的 IO 計數器 緩衝集區擴充檔的 I/O 佇列長度。
每秒的延伸模組頁面收回數目 每秒從緩衝集區延伸模組檔案收回的頁數。
每秒的延伸模組頁面讀取數 每秒從緩衝集區延伸模組檔案讀取的頁數。
延伸模組頁面未參考的時間 表示頁面將停留在這個沒有參考之緩衝集區延伸模組中的平均秒數。
每秒的延伸模組頁面寫入數 每秒寫入緩衝集區延伸模組檔案的頁數。
Free list stalls/sec 表示每秒鐘必須等待可用頁面的要求數。
Integral Controller Slope 緩衝集區的整體控制器上次使用的斜率,乘以 -100 億。
Lazy writes/sec 表示每秒鐘由緩衝區管理員的延遲寫入器所寫入的緩衝區數目。 「延遲寫入器」是一種系統處理序,可排清整批已變更且過時的緩衝區 (這種緩衝區包含必須重新寫入磁碟以便讓緩衝區可重複用於其他頁面的變更),使其可供使用者處理序使用。 使用延遲寫入器,即不需經常執行檢查點來建立可用的緩衝區。
Page life expectancy 表示頁面停留在這個沒有參考之緩衝集區中的秒數。
Page lookups/sec 表示每秒鐘在緩衝集區中尋找頁面的要求數。
Page reads/sec 表示每秒鐘發出的實體資料庫頁面讀取數。 這項統計資料可顯示所有資料庫的實體頁面讀取總數。 因為實體 I/O 成本很高,因此您可以使用較大的資料快取、智慧型索引和更有效率的查詢,或變更資料庫設計,將成本降到最低。
Page writes/sec 表示每秒鐘發出的實體資料庫頁面寫入數。
Readahead pages/sec 表示每秒鐘預期會使用而讀取的頁數。
Readahead time/sec 發出 readahead 花費的時間 (微秒)。
Target pages 緩衝集區的理想分頁數。

範例

您可以使用 sys.dm_os_performance_counters 動態管理檢視的 T-SQL 查詢,開始探索此物件中的查詢效能計數器:

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Buffer Manager%';