SQL Server需要監控哪些計數器

指尖流淌發表於2015-03-21

本文主要介紹了SQL Server需要監控的計數器,從而來監控伺服器當前的執行情況以及效能問題,全文如下:

常規計數器

收集作業系統伺服器的伺服器效能資訊,包括Processor、磁碟、網路、記憶體

Processor 處理器

1.1 % Processor Time指處理器用來執行非閒置執行緒時間的百分比。通過此計數器可以確定伺服器當前CPU使用百分比。

1.2 % Privileged Time是在特權模式下程式執行緒執行程式碼所花時間的百分比。當呼叫 Windows 系統服務時,此服務經常在特權模式執行,以便獲取對系統專有資料的訪問。

PhysicalDisk物理磁碟(某個RAID)

2.1 Avg. Disk Queue Length等待請求的佇列長度,若此值過大,說明磁碟存在瓶頸,自然磁碟延遲的值也會過大。

2.2 Avg. Disk sec/Read;Avg. Disk sec/Transfer;Avg. Disk sec/Write這三個計數器表示磁碟每次讀寫需要多少時間,表示磁碟的延遲情況,以秒為單位,若延遲超過25mm表示磁碟效能較差。

LogicalDisk邏輯磁碟(某個卷)

3.1 % Free Space某個磁碟的空閒百分比;Free Megabytes 磁碟剩餘大小MB

3.2 Disk Read Bytes/sec;Disk Transfers/sec;Disk Write Bytes/sec這三個計數器表示每秒磁碟的讀寫情況,表示磁碟的IO效能(iops)

Memory 記憶體

4.1 Available Mbytes可以記憶體大小MB,此記憶體能立刻分配給一個程式或系統使用。它等於分配給待機(快取的)、空閒和零分頁列表記憶體的總和。

4.2 Cache Bytes 系統使用的記憶體

4.3 Commit Limit可以申請的記憶體總大小(虛擬記憶體和實體記憶體);Committed Bytes已經使用的記憶體大小(虛擬記憶體和實體記憶體);均是以Byte(位元組)為單位。

4.4 Free System Page Table Entries指系統當前未使用的頁表項數目。表示記憶體是否空閒。

4.5 Page Faults/sec 每秒出錯頁面的數量,也就是未在記憶體中命中的頁面數。因此伴隨著Pages/sec計數器是由於出錯頁面從磁碟讀取資料頁的速度。此值越大說明記憶體可能存在一定瓶頸,或者存在大量資料存取。

Network Interface 網路介面

5.1 Current Bandwidth指以位/每秒估計的網路介面的當前頻寬。對於那些頻寬不變的或無法估計出準確資料的介面,這個值為名義頻寬。

5.2 Bytes Received/sec;Bytes Sent/sec;Bytes Total/sec每秒種傳送和接收的位元組數,表示當前網路的使用情況。

5.3 Output Queue Length輸出資料包佇列,此值大於2說明傳輸存在延遲。

5.4 Packets Outbound Discarded 被選為丟棄的資料包數目,丟棄的原因可能是釋放緩衝空間。Packets Outbound Errors 由於錯誤不能傳輸的資料包數目

5.5 Packets Received Discarded 被選為丟棄的資料包數目,丟棄的原因可能是釋放緩衝空間。Packets Received Errors 由於錯誤不能傳輸的資料包數目

SQL Server計數器

SQL Server中的Access Methods物件提供監視訪問資料庫中的邏輯資料的計數器;Buffer Manager計數器監視對磁碟上的資料庫也的物理訪問。

Access Methods 存取方式

Access Methods監視用於訪問資料庫中儲存的資料的方法有助於確定是否可以通過新增或修改索引、新增或移動分割槽、新增檔案或檔案組、對索引進行碎片整理或者重寫查詢來提高查詢效能。 Access Methods 計數器也可用於監視資料庫中資料、索引和可用空間的數量,從而指示每個伺服器例項的資料卷和碎片。索引的碎片過多會降低效能。

1.1 Page Splits/sec每秒由於索引頁溢位而發生的頁拆分數。此資料越大表示某表的修改頻率較高,且要確認該索引是否適合建立該欄位上。

1.2 Workfiles Created/sec每秒建立的工作檔案數

1.3 Worktables Created/sec每秒建立的工作表數

Buffer Manager 快取管理

監視用於儲存資料頁的記憶體;讀取和寫入資料庫頁時的物理io等,通過此物件可以判斷是否存在實體記憶體瓶頸可以瞭解伺服器的查詢效能等等。

2.1 Buffer cache hit ratio命中高速緩衝區頁的百分比。若此值過低說明可能記憶體存在一定瓶頸

2.2 Database pages緩衝池中資料庫內容的頁數

2.3 Page life expectancy頁指示頁面在沒有引用的情況下,在此節點的緩衝池中停留的時間(以秒計)。此值若降低說明,伺服器頻繁查詢資料庫中資料。

2.4 Checkpoint pages/sec Checkpoint的執行頻率,若執行的頻率過高。則說明伺服器過於頻繁的修改資料。

2.5 Lazy writes/sec 若懶寫入過於頻繁,說明沒有空閒的緩衝區供使用,記憶體可能存在一定瓶頸。“惰性編寫器”是一個系統程式,用於成批重新整理髒的過期的緩衝區(包含更改的緩衝區,必須將這些更改寫回磁碟,才能將緩衝區重用於其他頁),並使它們可用於使用者程式。

Memory Manager 記憶體管理

監視總體的伺服器記憶體使用情況,以估計使用者活動和資源使用,有助於查明效能瓶頸。

3.1 Memory Grants Pending指定等待工作空間記憶體授權的程式總數。指等待分配記憶體的程式數量,若此值過高或記憶體或磁碟存在一定瓶頸。

3.2 Target Server Memory (KB);Total Server Memory (KB)理想上能使用記憶體量與記憶體管理器提交的記憶體量。若此兩值存在差異則說明記憶體異常。

General Statistics 常規統計

4.1 User Connections;Logins/sec;Logouts/sec 使用者併發情況

4.2 Processes blocked當前阻塞數量

4.3 Temp Tables For Destruction等待被清除系統執行緒破壞的臨時表/表變數數。無用的臨時表和表變數。

SQL Statistics; Wait Statistics請求與等待統計

5.1 Batch Requests/sec;SQL Compilations/sec;SQL Re-Compilations/sec每秒的請求、編譯和重編譯的次數,這些對於優化供參考。

5.2 Lock waits等待鎖的程式數。

5.3 Log write waits等待寫入日誌快取的程式數

5.4 Page IO latch waits與頁 I/O 閂鎖相關的統計資訊。用於判斷記憶體或磁碟的瓶頸情況

5.5 Page latch waits與頁閂鎖(不包括 I/O 閂鎖)相關的統計資訊。用於判斷記憶體或磁碟的瓶頸情況

Databases針對資料庫級別

6.1 Log Flush Wait Time;Log Flushes/sec日誌重新整理等待和頻率,若資料異常則可能存在磁碟瓶頸

6.2 Transactions/sec 事務數

Locks

7.1 Lock Requests/sec;Lock Timeouts/sec鎖請求頻率;鎖超時頻率

7.2 Number of Deadlocks/sec 死鎖情況。

相關文章