1. 程式人生 > 實用技巧 >使用MiniProfiler除錯ASP.NET web api專案效能

使用MiniProfiler除錯ASP.NET web api專案效能

MVC MiniProfiler是Stack Overflow團隊設計的一款對ASP.NET MVC的效能分析的小程式。可以對一個頁面本身,及該頁面通過直接引用、Ajax、Iframe形式訪問的其它頁面進行監控,監控內容包括資料庫內容,並可以顯示資料庫訪問的SQL(支援EF、EF CodeFirst等 )。並且以很友好的方式展現在頁面上。

該Profiler的一個特別有用的功能是它與資料庫框架的整合。除了.NET原生的 DbConnection類,profiler還內建了對實體框架(Entity Framework)以及LINQ to SQL的支援。任何執行的Step都會包括當時查詢的次數和所花費的時間。為了檢測常見的錯誤,如N+1反模式,profiler將檢測僅有引數值存在差 異的多個查詢。

MiniProfiler是以Apache License V2.0協議釋出的,你可以在NuGet找到。配置及使用可以看這裡:http://code.google.com/p/mvc-mini-profiler


在WebApi中,對其效能進行分析監測是很有必要的。而悲劇的是,MVC專案中可以使用的MiniProfiler或Glimpse等,這些都不支援WebApi專案,而且WebApi專案通常也沒有介面,不能進行效能分析的互動。在這篇文章中,我們就來一步步實現為WebApi專案整合Miniprofiler。整合後,我們可以監控EF執行效率,執行語句,頁面執行時間等,這些結果將以很友好的方式顯示在介面上。

本質上,整合Miniprofiler可以分解為三個問題:

  1. 怎樣監測一個WebApi專案的效能。

  2. 將效能分析監測資訊從後端傳送到UI。

  3. 在UI顯示分析監測結果。

首先安裝Miniprofiler,MiniProfiler.EF6

在Global.asax 加入

執行專案,http://localhost//profiler/results-index 即可看到監測結果