SQL Server 的 Buffer Manager 物件
Buffer Manager 物件提供了可監視 SQL Server 使用情形的計數器:
儲存資料頁、內部資料結構及程序快取的記憶體。
監視 SQL Server 讀取與寫入資料庫頁面時之實體 I/O 的計數器。
監視 SQL Server 所使用的記憶體與計數器有助於判斷:
是否因實體記憶體不足而產生瓶頸。是否無法將經常存取的資料儲存在快取中,使 SQL Server 必須從磁碟中擷取資料。
是否可藉由增加更多記憶體,或讓資料快取或 SQL Server 內部結構可使用更多記憶體,而改善查詢效能。
SQL Server 須自磁碟中讀取資料的頻率。和其他的作業相比 (例如記憶體存取),實體 I/O 消耗的時間更多。將實體 I/O 最小化可改善查詢的效能。
您也可以利用 AWE 計數器來監視 SQL Server 中的 Address Windowing Extensions (AWE) 活動。例如,您可以確定 SQL Server 是否已為 AWE 配置足夠的記憶體,使它可以正確執行。如需詳細資訊,請參閱<記憶體架構>、<使用 AWE>或<awe enabled 選項>。
下表描述 SQL ServerBuffer Manager 效能物件。
SQL Server Buffer Manager 計數器 |
描述 |
---|---|
AWE lookup maps/sec |
每秒鐘由伺服器要求、在緩衝集區中找到、然後進行對應的資料庫頁面之次數。若需要對應,就成為伺服器虛擬位址空間的一部份。 |
AWE stolen maps/sec |
每秒鐘從可用清單取得緩衝區並進行對應的次數。 |
AWE unmap calls/sec |
每秒鐘取消對應緩衝區的呼叫次數。解除對應緩衝區時,就將它從虛擬伺服器位址空間中排除。每次呼叫可以解除對應一或多個緩衝區。 |
AWE unmap pages/sec |
每秒鐘取消對應的 SQL Server 緩衝區數目。 |
AWE write maps/sec |
每秒鐘必須對應 Dirty 緩衝區使其得以寫入磁碟的次數。 |
Buffer cache hit ratio |
不需讀取磁碟即可在緩衝區快取中找到之頁面的百分比。此比率是過去數千個分頁存取中,快取叫用總數除以快取查閱所得的結果。時間一久,比率的變動會越來越小。從快取讀取遠比從磁碟讀取節省成本,因此您會希望此比率越高越好。通常,您可以藉由增加 SQL Server 可用的記憶體數量,來提高緩衝區快取叫用比率。 |
Checkpoint pages/sec |
每秒經由檢查點或其他導致所有變更分頁排清至磁碟的作業所轉存至磁碟的分頁數。 |
Database pages |
擁有資料庫內容的緩衝集區分頁數。 |
Free list stalls/sec |
每秒鐘必須等待可用頁面的要求數。 |
Free pages |
所有可用清單上的分頁總數。 |
Lazy writes/sec |
每秒鐘由緩衝區管理員的延遲寫入器所寫入的緩衝區數目。延遲寫入器是一種系統處理序,可排清 Dirty 批次和陳舊的緩衝區 (這種緩衝區包含必須重新寫入磁碟、以便讓緩衝區重新用於其他頁面的變更),使其可供使用者處理序使用。使用延遲寫入器,即不需經常執行檢查點來建立可用的緩衝區。 |
Page life expectancy |
分頁將停留在沒有參考的緩衝集區的秒數。 |
Page lookups/sec |
每秒鐘在緩衝集區中尋找頁面的要求數。 |
Page reads/sec |
每秒鐘發出的實體資料庫頁面讀取數。這項統計資料可顯示所有資料庫的實體頁面讀取總數。由於實體 I/O 成本很高,因此您可以藉由使用較大的資料快取、智慧型索引、和較有效的查詢,或藉由變更資料庫設計,來儘可能降低成本。 |
Page writes/sec |
每秒鐘發出的實體資料庫頁面寫入數。 |
Readahead pages/sec |
每秒鐘預期會使用而讀取的頁數。 |
Reserved pages |
緩衝集區保留的分頁數。 |
Stolen pages |
為了其他伺服器所使用的分頁數 (包含程序快取區)。 |
Target pages |
緩衝集區的理想分頁數。 |
Total pages |
緩衝集區分頁數 (包含資料庫、可用和奪取分頁)。 |