Performance Monitor是Windows內置的一個可視化監控工具,能夠在OS級別上實時記錄系統資源的使用情況,通過收集和存儲日誌數據,在SQL Server發生異常時,能夠還原系統當時的資源的使用情況,是對SQL Server進行Troubleshooting的首選工具。Perform ...
Performance Monitor是Windows內置的一個可視化監控工具,能夠在OS級別上實時記錄系統資源的使用情況,通過收集和存儲日誌數據,在SQL Server發生異常時,能夠還原系統當時的資源的使用情況,是對SQL Server進行Troubleshooting的首選工具。Performance Monitor使用Performance Counter來追蹤系統的活動狀態的測量值,取樣間隔預設是15s,即,Performance Monitor每隔15s,記錄Performance Counter的當前值。
Performance Monitor主要有兩個組件:Viewer和Data Collector,分別用於查看和記錄Performance Counter的測量值,開啟Performance Monitor對Server的影響很微小,建議開啟,多收集一些性能數據。
一,查看Viewer
1,打開 Performance Monitor
點擊Windows+R,在Run中輸入perfmon,打開Performance Monitor,主要分為三個目錄:Monitoring Tools,Data Collector Sets 和 Reports。
2,查看Performance Monitor
Performance Monitor是Viewer,有兩種查看模式:View Current Activity 和 View Log Data,前者用於實時監控當前數據,後者用於查看歷史數據。
3,圖表(Graph),顯示計數器的測量值
能夠選擇時間區間(zoom to),能夠選擇顯示和隱藏指定的Counter,能夠縮放(Scale)Counter的值
4,Sample Interval,實時監控可以設置取樣間隔和顯示的數據長度
Performance Monitor的取樣時間間隔由屬性 Sample Interval 確定,通過Performance Monitor Properties -> General tab查看取樣間隔設置
- 勾選Sample automatically:自動取樣
- Sample Every X seconds:採樣的時間間隔
- Duration X seconds:Viewer顯示的時間長度,這是 Real-Time 監控模式下保持數據的最長時間
二,創建Data Collector
Data Collector用於記錄Performance Counter的數值,預設存儲在C:\PerfLogs 目錄下,多個Data Collector的集合就是一個Data Collector Set。
1,創建自定義的Data Collector Set
展開Data Collector Sets,點擊User Defined->New->Data Collector Set,輸入Name,選擇 Create Manually(Advanced),不使用模板,自定義創建。
2,創建數據日誌
選擇Create Data Logs,並勾選Performance Counter,通過Add按鈕添加Performance Counter,預設的Sample Interval是15s。
3,添加Performance Counter
根據監控目的,選擇合適的Counter,樓主創建的Data Collector用於監控Disk活動,主要選擇以下7個計數器,通過Add按鈕添加到右側面板中。
4,設置Data Collector Set的Stop Condition,使數據文件Size不會超過限制
Windows使用Set來同一管理Data Collector,每個Data Collector的數據單獨存儲在文件中,如果數據文件過大,在查看時,Viewer載入過程緩慢,建議將Data Collector的數據文件控制在300MB以內。打開指定Data Collector Set的屬性,切換到Stop Condition Tab,指定停止收集數據的條件。
Overall duration指定:在一定的時間之後,停止收集數據(stop collecting data after a period of time)
Limits指定:當數據收集滿足Duration和Maximum Size條件時,將數據文件分離單獨的數據文件。
- Use limits to segment data collection into separate logs by selecting When a limit is reached, restart the data collector set.
- If both limit types are selected, data collection will stop or restart when the first limit is reached.
- Duration:configure a time period for data collection to write to a single log file.
- Maximum Size:restart the Data Collector Set or to stop collecting data when the log file reaches the limit.
5,Data Manager,刪除舊的無用數據
在Data Collector運行了很長世間之後,Data Collector創建的數據文件可能很大,必須及時將無用的數據清理掉,Data Manger負責清理數據文件。
選中指定的Data Collector Set,右擊彈出快捷菜單,打開Data Manager。在Data Manager Tab中設置Maximum root path size=10GB,並勾選Enable Data Manager覆選框;在Actions Tab中,增加一個Action,Age:30Days,勾選Delete Data Files,表示將超過30天的數據文件刪除。
三,開啟Performance Monitor對Server性能影響很微小
在一個Production Server上,Performance Monitor運行很長一段時間之後,Task Management顯示消耗的CPU和記憶體資源數量很小,如圖:
引用《SQL Server 2012 實施與管理實戰指南》:
預設的Performance Monitor 是用來Real-Time 檢測系統的,在現實的問題分析中,更多的是需要在問題發生之前,開啟Performance Counter來收集數據,一段時間之後,或者問題重現之後,通過收集的數據,離線分析問題的現象和原因。
有些DBA會擔心,抓這麼多Performance Counter會不會影響Server的性能,根據經驗,Performance Monitor對系統整體性能的影響幾乎感覺不到,所以,可以放心大膽地多收集一些Counter,時間間隔設置預設值 15s 是比較安全的。
如果性能日誌文件超過1GB,在View Report時,載入log file會很慢,一般將日誌文件的Size的最大值設置為300MB。這可以通過選擇“Stop Condition” Tab,勾選 Maximum Size 設置日誌文件的最大值為300MB來實現。
參考文檔:
Performance Monitoring Getting Started Guide