Visual Studio的Performance profiler簡介

最後一篇博文發表自去年聖誕節前一天,7個多月過去了,現在終於有時間坐下來,總結一下這半年的收穫。這半年都沒有更新博文,是因爲團隊組織架構調整,我的工作內容增加了很多,一句話總結就是,一個人撐起一個項目的自動化。我不僅負責UI Automation,還負責系統另外兩個底層模塊的集成自動化測試。自動化代碼、提升效率、每天運行發regression report都在我頭上。所以很忙。忙歸忙,收穫還是很大的,頗有成就感。原來UI自動化 + 另兩個模塊的集成測試是分別由3個團隊各自負責,以往需要0.5個人天 * 3來執行分析regression tests,現在全部在我這裏,僅需要1.5個小時每天。效率提升十分明顯。這期間,我將集成測試裏面,很多需要手動做的事情,改爲代碼代勞。還做了一個簡約高大上的輔助性網站,展示所有regression jobs的執行狀態(C# WebForm)。

言歸正傳,Vistual Stuido自帶一個性能分析器 – Performance profiler,用Performance profiler跑完目標代碼,它會給出一個.vsp的報告。Summary裏會有一個帶時間軸和CPU使用率的折線圖,據此折線圖,可以看出在運行過程中,哪些時間段資源使用率高。Summary折線圖下面還會給出調用次數最多的方法。

下拉菜單點開,還會有很多其他選項,我用的比較多的是Functions 和 Call tree.

下面我用虛擬機裏的Visual Studio 2015,展示如何配置Performance Profiler.

Step 1:
頂欄Debug菜單展開,選擇Performance Profiler(Visual Studio必須有項目打開着,再去調Performance Profiler)
這裏寫圖片描述

Step 2:
勾中Performance Wizard,點擊Start按鈕
這裏寫圖片描述

Step 3:
因爲我想要看各個方法的調用次數以及時長,所以選擇Instrumentation,點擊Next
這裏寫圖片描述

Step 4:
這一步是要配置我們想要做性能分析的對象,可以是項目,可以是.exe可執行文件,也可以.dll,根絕不同的項目需求,選擇類型。比如我公司的項目,我需要選擇.dll,然後在下一個配置頁面,輸入執行程序.exe的路徑,輸入我想要分析的.dll文件路徑,並輸入執行參數。注意,如果路徑裏帶空格的話,記得用雙引號括起來。換言之,怎麼在命令行裏執行.exe或者.dll,那麼在這裏就按照那樣去配置就好了。爲了示範,我僅選擇當前項目
這裏寫圖片描述

Step 5:
配置結束頁面,如果勾選上,就是說,現在就開始執行性能分析,不勾選的話,就是說,回頭再執行性能分析。到時候,從Performane Explorer頁面,找到剛剛的配置,右鍵,選擇Start Profiling執行並性能分析。這裏我夠選上,點擊Finish按鈕,它就開始執行並分析。
這裏寫圖片描述

Step 6:
執行結束後,查看性能報告。
這是Summary報告。
這裏寫圖片描述

這是Functions報告。Elaspsed Inlcusive Time %是指該方法(包括方法裏調用別的方法的執行時長)執行時長佔總時長的百分比。例如StarbuzzCoffee.Main()方法執行時長是100%,因爲它是入口程序,它的執行時長就是所有的執行時長。而Elapsed Exclusive Time %衡量的是指該方法不包含其內調用別的方法時長佔比。後面avg inclusive/exclusive time同理,講的是平均包含不包含執行時長。
通過這份報告,將執行時長(不包含)很長且調用次數多的方法加以改進,整體性能就會有很大提升。
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章