常規計數器
收集操作系統服務器的服務器性能信息,包括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 死鎖情況。