Glimpse - ASP.NET效能測試工具

在進行網頁的效能測試時,不僅要量測Client端的時間,也要計算Server端的運算時間。通常第三方的效能測試工具無法嵌入程式裡故很難得知Server端的執行時間。不過寫ASP.NET的Programmer有福了,因為有一套效能測試工具 - Glimpse能夠測試到從Client端丟出Request到Server處理完Response的整個Request-Response Lifecycle。


Glimpse是一套Open Source的ASP.NET Web效能診斷工具,可以直接從NuGet上下載安裝至專案上,藉此可以量測ASP.NET的Page Lifecycle。不管是MVC還是WebForm都有支援。Mvc專案的話還可以取得Route Path的資訊。

首先在VS裡的方案(Solution)右鍵選擇"管理方案的NuGet套件",接著搜尋Glimpse就可以找到了,ASP.NET WebForm的話就要在NuGet套件管理員裡面使用NuGet Command Line的方式安裝。




安裝好後就可以直接執行你的網站(
限量以Glimpse所提供的測試網站來DEMO),你就會發現完全沒有變化。那是因為還沒啟動阿,此時就要在你的網址Root後方加上/glimpse.axd進入設定頁面。



設定頁面中最重要的部分就是最上方那三顆大按鈕,按下"Turn Glimpse On"就可以啟動Glimpse,下方則是設定要啟用Glimpse的那些功能,有SQL, Timeline, Routes, Configuration, ...等Glimpse可量測或取得的資訊。


接著回到網站首頁就可以發現網頁右下角出現了一條長長Bar,Bar裡有許多剛剛勾選選項的Tab。每當發出一個Request,Bar上的資訊就會改變。如果嫌用Bar不好看還可以把它展開成單一視窗來看。




再來我們來簡單的來看看Server端執行的效能如何:




從上圖與Bar圖可以看到進入這個頁面共花了527ms(Action 60ms, Render View 211ms, DB Query 186ms, DB Connection 188ms),其中Server端在StoreController裡的Browse Action內邏輯運算花了4.99 + 55.65ms,然後Render到 CartSummary Action邏輯處理花了3.61 + 75.57ms,GenreMenu邏輯處理花了2.93 + 54.980ms。我們還可以看到有3個DB Query花了186(55.65 + 75.57 + 54.98)ms,3個DB Connection Open Time花了188(186 + ?)ms。

就這樣,輕輕鬆鬆診斷網頁處理效能,就可以協助我們調整網頁並找出影響效能的瓶頸。





參考來源:
Glimpse - The Diagnostics platform of the web










留言