利用Windows效能計數器分析軟體產品的效能瓶頸
【原文:http://blog.163.com/jack_test/blog/static/166620663201061594459936/】
【摘要】 本文詳細介紹了Windows效能計數器在幫助查詢軟體產品效能瓶頸中的作用以及使用方法等,為開發、測試以及系統分析人員介紹一種簡潔高效效能跟蹤評估手段。 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 效能資料連續跟蹤統計 2.2.1 效能採集設定 當需要對效能資料進行連續統計,並進行後續分析時,我們可以採用另外一種方式:啟用計數器日誌。 圖(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佔用、記憶體使用情況等,具有較大的參考價值 |
相關文章
- 利用PerfDog分析遊戲效能瓶頸遊戲
- MySQL 效能優化之硬體瓶頸分析MySql優化
- Chrome執行時效能瓶頸分析Chrome
- 效能測試-服務端瓶頸分析思路服務端
- LightDB資料庫效能瓶頸分析(一)資料庫
- 軟體測試:瓶頸分析方法
- 如何解決SQL Server資料庫的軟硬體效能瓶頸OCSQLServer資料庫
- 伺服器IO瓶頸對MySQL效能的影響伺服器MySql
- 資料庫叢集伺服器系統效能瓶頸分析(zt)資料庫伺服器
- 效能分析(6)- 如何迅速分析出系統 CPU 的瓶頸在哪裡
- 用 pprof 找出程式碼效能瓶頸
- wait event監測效能瓶頸AI
- 如何正確定義效能瓶頸
- 實用技巧:快速定位Zuul的效能瓶頸Zuul
- 效能測試瓶頸之CPU問題分析與調優
- 在Linux中,如何進行系統效能瓶頸分析?Linux
- cacti抓windows效能計數器。Windows
- 2020.10.8 效能課堂筆記-記憶體瓶頸分析筆記記憶體
- 影響你網站效能的 5 個瓶頸網站
- 分享發現的一個效能瓶頸問題
- PHP的curl造成效能瓶頸,如何優化?PHP優化
- 軟體產品測試之效能效率測試
- 效能課堂-TPS 瓶頸精準定位
- 漫談前端效能 突破 React 應用瓶頸前端React
- 突破效能瓶頸,實現流程自動化
- Linux 磁陣效能瓶頸定位過程Linux
- 資料庫效能監控瓶頸理論資料庫
- 軟體測試學習資源—瓶頸分析方法
- 各種儲存效能瓶頸場景的分析與最佳化手段
- 2020.10.6 效能課堂筆記-cpu 瓶頸分析筆記
- 五個容易錯過的 PostgreSQL 查詢效能瓶頸SQL
- 使用vmstat標識linux系統的效能瓶頸Linux
- 宜信資料庫實踐|解讀Oracle AWR效能分析報告,更快定位效能瓶頸資料庫Oracle
- SQL Server 資料庫 最佳化 效能瓶頸SQLServer資料庫
- 常見效能計數器及分析
- 哪個多維分析產品的效能最好
- 執行在 CCV2 環境上的 Angular 伺服器端渲染應用的效能瓶頸分析Angular伺服器
- Windows效能計數器監控實踐Windows