本文來源:http://blog.163.com/jack_test/blog/static/166620663201061594459936
【摘要】
在性能測試中,你要對測試結果進行數據分析,就要對系統資源進行監控,並對監控數據進行分析,
而Windows性能計數器在幫助查找軟件產品性能瓶頸中的作用以及使用方法等,為開發、測試以及系統分析人員介紹一種簡潔高效性能跟蹤評估手段。
1 概述
軟件產品常常會出現這樣的情況:產品性能因某些無法預料的瓶頸而受到干擾,導致程序的處理效率降低,性能得不到充分的發揮。如何快速有效地找到軟件產品的性能瓶頸,則是我們感興趣的內容之一。
Windows 2000 附帶的 Windows 性能監視器提供的性能計數器具有強大的功能,可以使我們能夠獲得系統或進程的各種詳細信息,比如系統進程、CPU 利用率、磁盤活動、內存使用等等,巧妙靈活地利用這一工具,可以有效地幫助我們確定軟件產品性能瓶頸所在。
2 使用說明
Windows 性能監視器置於 Windows 操作系統之中,它允許用戶訪問系統性能數據。訪問性能監視器的簡單方法是,從“開始”菜單中,選擇“開始”=>“程序”=>“管理工具”=>“性能”即可啟動。如果“程序”菜單中沒有“管理工具”程序組,請從控制面板中選擇。
圖(1)展示了最初的性能監視器窗口。
圖(1)性能監視器窗口 |
2.1 性能監視動態顯示模式
圖(1)顯示的是Winword進程CPU占用情況實時分布圖。
在視圖區,點擊右鍵,選擇“添加計數器”,出現如下圖所示窗口。
圖(2)添加計數器 |
假設需要對Winword進程的CPU占用時間和句柄數進行監視,則進行如下操作:
(1) 從“添加計數器”窗口中,選擇性能對象為“Process”(進程);
(2) 選中“從列表選擇實例”;
(3) 選中需要監視的進程,如Winword;
(4) 選中“從列表選擇計數器”,從列表框中選中需要監視的特性,如CPU占用時間、句柄數等;
(5) 設置完畢,點擊“添加”按鈕,關閉窗口,即可實時監視選中的參數。
動態監視的缺點是:監視周期只有1分40秒時長,並且數據不能連續輸出到文件中。不能
做后續分析。
2.2 性能數據連續跟蹤統計
2.2.1 性能采集設置
當需要對性能數據進行連續統計,並進行后續分析時,我們可以采用另外一種方式:啟用計數器日志。
圖(3)展示了啟用計數器日志的性能監視器窗口。
圖(3)添加計數器 |
我們以監視Winword進程的CPU占用時間、物理內存和虛擬內存為例進行說明。
(1) 如上圖所示,在左邊樹圖區,展開“性能日志和報警”項,在該分支下選中“計數器日志”;
(2) 在右邊視圖區,點擊右鍵,選擇“新建日志設置”,在彈出的對話框中輸入一個名稱,如“MyCount”,應用后出現如下圖(4)所示屬性設置對話框;
圖(4)計數器屬性設置 |
(3) 點擊“添加”按鈕,出現如圖(2)所示的“添加計數器”對話框;
(4) 從“添加計數器”窗口中,選擇性能對象為“Process”(進程);
(5) 選中“從列表選擇實例”;
(6) 選中需要監視的進程,如Winword;
(7) 選中“從列表選擇計數器”,從列表框中選中需要監視的特性,如CPU占用時間、物理內存、虛擬內存等;
(8) 設置完畢,點擊“添加”按鈕,關閉窗口,回到圖(4)顯示窗口;
(9) 在圖(4)對話框中,切換至“日志文件”屬性頁,如圖(5)所示;
圖(5)日志文件屬性設置 |
(10) 在圖(5)中,將日志類型設置為CSV格式,便於在Excel中導入;
(11) 將日志大小設置為最大限度,也可以根據需要預設定文件記錄大小;
(12) 在圖(4)對話框中,切換至“計划”屬性頁,如圖(6)所示;
圖(6)采集計划定制 |
(13) 采用默認計划,關閉設置對話框;
(14) 開始采集監視對象性能數據,如果需要停止采集,手工終止即可。
優點:可以設定采樣頻率,指定時長或者手工控制采樣時長不間斷地采集性能數據,並且
可以多種格式存儲數據,滿足不同的需求,便於事后分析。
2.2.2 性能采集數據分析
采集的數據被記錄到Execl文件中。數據記錄如下:
圖(7)采集數據記錄 |
(1) 打開日志文件;
(2) 選中需要分析的數據(列);
(3) 點擊工具條中的“圖表向導”,出現如下圖(8)所示對話框;
圖(8)圖表類型設置 |
圖(9)圖表類型設置 |
圖(10)圖表系列設置 |
(6) 完成設置后,以新表格方式插入分布圖。
(7) 采用同樣的方式,可以繪出物理內存、虛擬內存的分布情況。
2.3 采集對象和可采集的參數
性能計數器可監視的對象多達20種,每一種性能對象又包括若干個可供計數的性能參數滿。以最常用的監視對象――進程為例,其可供計數的性能參數多達27種,如進程占用CPU的時間、句柄數、每秒IO字節數、每秒IO讀字節數、每秒IO寫字節數、虛擬內存、虛擬內存峰值、線程數目、物理內存、物理內存峰值等,能滿足大部分需求。
3 效果評估
采樣Windows性能計數器對進程的某些特性參數進行統計跟蹤,能很好的發現軟件的瓶頸和運行狀態,特別是我們比較關心的CPU占用、內存使用情況等,具有較大的參考價值


