1 概述軟體產品常常會出現這樣的情況:產品效能因某些無法預料的瓶頸而受到幹擾,導致程式的處理效率降低,效能得不到充分的發揮。如何快速有效地找到軟體產品的效能瓶頸,則是我們感興趣的內容之一。Windows 2000附帶的 Windows 效能監控器提供的效能計數器具有強大的功能,可以使我們能夠獲得系統或進程的各種詳細資料,比如系統進程、CPU 利用率、磁碟活動、記憶體使用量等等,巧妙靈活地利用這一工具,可以有效地協助我們確定軟體產品效能瓶頸所在。
2 使用說明Windows 效能監控器置於 Windows 作業系統之中,它允許使用者訪問系統效能資料。訪問效能監控器的簡單方法是,從“開始”菜單中,選擇“開始”
=>“程式”
=>“管理工具”
=>“效能”即可啟動。如果“程式”菜單中沒有“管理工具”程式組,請從控制台中選擇。圖(1)展示了最初的效能監控器視窗。
2.1 效能監控動態顯示模式圖(1)顯示的是Winword進程CPU佔用情況即時分布圖。在視圖區,點擊右鍵,選擇“添加計數器”,出現如所示視窗。
假設需要對Winword進程的CPU佔用時間和控制代碼數進行監視,則進行如下操作:(1) 從“添加計數器”視窗中,選擇效能物件為“Process”(進程);(2) 選中“從列表選擇執行個體”;(3) 選中需要監視的進程,如Winword;(4) 選中“從列表選擇計數器”,從列表框中選中需要監視的特性,如CPU佔用時間、控制代碼數等;(5) 設定完畢,點擊“添加”按鈕,關閉視窗,即可即時監視選中的參數。 動態監視的缺點是:監視周期只有1分40秒時間長度,並且資料不能連續輸出到檔案中。不能做後續分析。
2.2 效能資料連續跟蹤統計
當需要對效能資料進行連續統計,並進行後續分析時,我們可以採用另外一種方式:啟用計數器
日誌。圖(3)展示了啟用計數器日誌的效能監控器視窗。
我們以監視Winword進程的CPU佔用時間、實體記憶體和虛擬記憶體為例進行說明。(1) 如所示,在左邊樹圖區,展開“效能日誌和警示”項,在該分支下選中“計數器日誌”;(2) 在右邊視圖區,點擊右鍵,選擇“建立日誌設定”,在彈出的對話方塊中輸入一個名稱,如“MyCount”,應用後出現如(4)所示屬性設定對話方塊;
(3) 點擊“添加”按鈕,出現(2)所示的“添加計數器”對話方塊;(4) 從“添加計數器”視窗中,選擇效能物件為“Process”(進程);(5) 選中“從列表選擇執行個體”;(6) 選中需要監視的進程,如Winword;(7) 選中“從列表選擇計數器”,從列表框中選中需要監視的特性,如CPU佔用時間、實體記憶體、虛擬記憶體等;(8) 設定完畢,點擊“添加”按鈕,關閉視窗,回到圖(4)顯示視窗;(9) 在圖(4)對話方塊中,切換至“記錄檔”屬性頁面,(5)所示;
(10) 在圖(5)中,將日誌類型設定為CSV格式,便於在Excel中匯入;(11) 將日誌大小設定為最大限度,也可以根據需要預設定檔案記錄大小;(12) 在圖(4)對話方塊中,切換至“計劃”屬性頁面,(6)所示;
(13) 採用預設計劃,關閉設定對話方塊;(14) 開始採集監視對象效能資料,如果需要停止採集,手工終止即可。 優點:可以設定採樣頻率,指定時間長度或者手工控制採樣時間長度不間斷地採集效能資料,並且可以多種格式儲存資料,滿足不同的需求,便於事後分析。
2.2.2 效能採集資料分析採集的資料被記錄到Execl檔案中。資料記錄如下:
(1) 開啟記錄檔;(2) 選中需要分析的資料(列);(3) 點擊工具條中的“圖表嚮導”,出現如(8)所示對話方塊;
(4) 選中“折線圖”中的第一個圖形,進入下一步;
(5) 在圖(9)中,將資料區域設定為從第二行開始;
(6) 完成設定後,以新表格方式插入分布圖。(7) 採用同樣的方式,可以繪出實體記憶體、虛擬記憶體的分布情況。
2.3 採集對象和可採集的參數效能計數器可監視的對象多達20種,每一種效能物件又包括若干個可供計數的績效參數滿。以最常用的監視對象――進程為例,其可供計數的績效參數多達27種,如進程佔用CPU的時間、控制代碼數、每秒IO位元組數、每秒IO讀位元組數、每秒IO寫位元組數、虛擬記憶體、虛擬記憶體峰值、線程數目、實體記憶體、實體記憶體峰值等,能滿足大部分需求。
3 效果評估採樣Windows效能計數器對進程的某些特性參數進行統計跟蹤,能很好的發現軟體的瓶頸和運行狀態,特別是我們比較關心的CPU佔用、記憶體使用量情況等,具有較大的參考價值。