1、Memory\Pages/sec
2、Network Interface(Intel[R] 82546EB Based Dual Port Network Connection)\Bytes Total/sec
3、PhysicalDisk(_Total)\% Disk Time
4、Processor(_Total)\% Processor Time
5、Processor(_Total)\Interrupts/sec
6、SQLServer:Locks(_Total)\Average Wait Time (ms)
7、SQLServer:Locks(_Total)\Lock Requests/sec
8、SQLServer:Locks(_Total)\Lock Timeouts/sec
9、SQLServer:Locks(_Total)\Lock Wait Time (ms)
10、SQLServer:Locks(_Total)\Lock Waits/sec
11、SQLServer:Locks(_Total)\Number of Deadlocks/sec
12、System\Processor Queue Length
[前話]收集性能計數器注釋,以備使用!
[內容]
1 % Processor Time (Processor _Total)
指處理器用來執行非閒置線程時間的百分比。計算方法是,度量處理器用來執行空閒線程的時間,然後用 100% 減去該值。
如果該參數值持續超過95%,表明瓶頸是CPU。可以考慮增加一個處理器或換一個更快的處理器。2 Processor\% User Time\_Total
表示耗費CPU的數據庫操作,如排序,執行aggregate functions等。如果該值很高,可考慮增加索引,盡量使用簡單的表聯接,水平分割大表格等方法來降低該值。
3 Memory\Pages/sec
Hard Paging-Memory:Pages/sec > 0 或 Memory:Page Reads/sec > 5
Memory:Pages/sec > 0 或 Memory:Page Reads/sec > 5 表示 Windows 將通過磁盤解決內存引用(強制分頁錯誤)。這需要消耗磁盤 I/O 和 CPU 資源。Memory:Pages/sec 是一個指示 Windows 正在執行的分頁數量和數據庫服務器當前的 RAM 配置是否充足的有效指示器。Performance Monitor 中的強制分頁信息的子集是 Windows 每秒鐘必須讀取分頁文件以解決內存引用的次數,它用“Memory:Pages Reads/sec”表示。如果“Memory:Pages Reads/sec > 5,那麼這對於性能是不利的。
每秒磁盤讀寫頁數
這會導致硬頁故障,從而導致SQL Server依賴頁文件而不是依賴內存。如果這個計數器的平均值為20,你可能需要添加額外的RAM來停止內存分頁。
4 Memory\Available Mbytes
它測量可用於運行進程的物理內存量(單位為兆字節)。如果此值低於總物理 RAM 的 5%,則意味著內存不足,分頁活動可能會增加。要解決此問題,應增加更多的內存。
5 Memory: Page Faults / sec
如果該值偶爾走高,表明當時有線程競爭內存。如果持續很高,則內存可能是瓶頸
6 PhysicalDisk\Avg. Disk Queue Length\_Total
該值應不超過磁盤數的1.5~2倍。要提高性能,可增加磁盤。注意:一個Raid Disk實際有多個磁盤。
7 PhysicalDisk\Avg. Disk sec/Read\_Total
它測量從磁盤讀取數據的平均時間(以秒為單位)。如果此數字大於 25 毫秒 (ms),則意味著從磁盤讀取數據時磁盤系統發生了延遲。對於托管 SQL Server(R) 和 Exchange Server 的關鍵任務服務器,可接受的阈值要低得多,約為 10 ms。
8 PhysicalDisk\Avg. Disk sec/Write\_Total
它測量將數據寫入磁盤所需的平均時間(以秒為單位)。如果此數字大於 25 ms,則意味著寫入磁盤時磁盤系統發生了延遲。對於托管 SQL Server 和 Exchange Server 的關鍵任務服務器,可接受的阈值要低得多,約為 10 ms
9 PhysicalDisk\Disk Reads/sec\_Total
取決於制造商檢查磁盤的指定傳送速度,以驗證此速度沒有超出規格。通常,Ultra Wide SCSI 磁盤
每秒可以處理 50 到 70 次 I/O 操作。
10 PhysicalDisk\Disk Writes/sec\_Total
取決於制造商檢查磁盤的指定傳送速度,以驗證此速度沒有超出規格。通常,Ultra Wide SCSI 磁盤
每秒可以處理 50 到 70 次 I/O 操作。
9b PhysicalDisk\Disk sec /Reads\_Total
<8ms
10b PhysicalDisk\Disk sec /Writes \_Total
< 8ms (non cached) < 1ms (cached)
11 SQLServer:Access Methods\Full Scans/sec
a每秒不受限制的完全掃描數。這些掃描可以是基表掃描,也可以是全文索引掃描。合理范圍:<5
b如果該指標的值比1或2高,應該分析設計的查詢以確定是否確實需要全表掃描,以及SQL查詢是
否可以被優化
12 SQLServer:Access Methods\page Splits/sec
每秒由於索引頁溢出而發生的頁拆分數。
合理范圍:越小越好,可降低填滿因子的設定值或重建索引還減少每秒的頁分割數量。
13 SQLServer:Access Methods\Worktables Created/sec
每秒創建的工作表數。例如,工作表可用於存儲查詢假脫機、LOB 變量、XML 變量和游標的臨時結果。
14 SQLServer:Buffer Manager\Buffer cache hit ratio
比率最好為90% 或更高。表示90% 以上的數據請求可以從數據緩沖區中獲得所需數據。
SQLServer : Cache Manager: Cache Hit RatiOSQL
該值越高越好。如果持續低於80%,應考慮增加內存。 注意該參數值是從SQL Server啟動後,就一直累加記數,所以運行經過一段時間後,該值將不能反映系統當前值。
15 SQLServer:Buffer Manager\Checkpoint pages/sec
由要求刷新所有髒頁的檢查點或其他操作每秒刷新到磁盤的頁數。
16 SQLServer:Buffer Manager\Lazy writes/sec
每秒被緩沖區管理器的惰性編寫器寫入的緩沖區數。惰性編寫器是一個系統進程,用於成批刷新髒的老化的緩沖區(包含更改的緩沖區,必須將這些更改寫回磁盤,才能將緩沖區重用於其他頁),並使它們可用於用戶進程。惰性編寫器不需要為創建可用緩沖區而頻繁執行檢查點。
合理范圍:0
17 SQLServer:Buffer Manager\Page life expectancy
頁若不被引用將在緩沖池中停留的秒數。
Page Life Expectancy (PLE) 計數器幫助確定是否內存不足。PLE 計數器顯示數據頁在緩沖區高速緩存中停留的時間。行業中該計數器的可接受阈值為 300 秒。如果在很長一段時間內顯示的值平均小於 300 秒,則表明從內存中刷新數據頁的頻率過高。如果出現這種情況,將導致 Resource Monitor 負載加重,從而導致處理器的活動增多。應該將 PLE 計數器和 Checkpoints Pages/sec 計數器一起進行評估。在系統中出現檢查點時,緩沖區高速緩存中的髒數據頁被刷新到磁盤,從而導致 PLE 值下降。Resource Monitor 進程是真正將這些頁刷新到磁盤的機制,所以在出現這些檢查點期間,您應該還會看到 Lazy Writes/sec 值增加。如果完成檢查點後 PLE 值立即增加,您可以忽略這種短暫現象。另一方面,如果發現經常低於 PLE 阈值,則此時非常適合使用多出的內存緩解您的問題,同時將一些資源釋放回 CPU。
18 SQLServer:Databases\Data File(s) Size (KB)\sqlh2
數據庫中所有數據文件的累計大小 (KB),包括任何自動增長。監視此計數器非常有用,例如可以確定 tempdb 的准確大小。
19 SQLServer:Databases\Log File(s) Size (KB)\sqlh2
數據庫中所有事務日志文件的累計大小 (KB)。
20 SQLServer:Databases\Log File(s) Used Size (KB)\sqlh2
數據庫中所有日志文件的累計已用大小。
21 SQLServer:Latches\Latch Waits/sec
未能立即授予的闩鎖請求數。
合理范圍:越小越好,值過大表明服務器可能存在對資源的競爭問題。
22 SQLServer:Latches\Average Latch Wait Time (ms)
必須等待授予的闩鎖請求的平均等待時間(毫秒)。如果該指標的值很高,則系統可能正經歷嚴
重的資源競爭問題。
23 SQLServer:Locks\Lock Waits/sec\_Total
每秒要求調用者等待的鎖請求數
24 SQLServer:Locks\Average Wait Time (ms)\_Total
每個導致等待的鎖請求的平均等待時間(毫秒)。
25 SQLServer:SQL Statistics\Batch Requests/sec
每秒收到的 Transact-SQL 命令批數。 這一統計信息受所有約束(如 I/O、用戶數、高速緩存大小、請求的復雜程度等)影響。 批處理請求數值高意味著吞吐量很好
26 SQLServer:SQL Statistics\SQL Compilations/sec
每秒的 SQL 編譯數。 表示編譯代碼路徑被進入的次數。 包括 SQL Server 中語句級重新編譯導致的編譯。 當 SQL Server 用戶活動穩定後,該值將達到穩定狀態
27 SQLServer:SQL Statistics\SQL Re-Compilations/sec
每秒語句重新編譯的次數。 計算語句重新編譯被觸發的次數。 一般來說,這個數最好較小。 在更高版本的 SQL Server 中,重新編譯發生在語句級別,而不是發生在 Microsoft SQL Server 2000 中的批處理級別。 因此,不能直接比較 SQL Server 和早期版本中該計數器的值。
28 SQLServer:Memory Manager\Memory Grants Pending
等待工作空間內存授權的進程總數。
29 PhysicalDisk\% Idle Time
它測量磁盤在采樣間隔期間的空閒時間百分比。如果此計數器低於 20%,則表示磁盤系統處於滿負荷狀態。可考慮將當前的磁盤系統更換為速度更快的磁盤系統。