VC MiniProfiler是Stack Overflow團隊設計的一款對ASP.NET MVC的性能分析的小程序。能夠對一個頁面自己,及該頁面經過直接引用、Ajax、Iframe形式訪問的其它頁面進行監控,監控內容包括數據庫內容,並能夠顯示數據庫訪問的SQL(支持EF、EF CodeFirst等 )。而且以很友好的方式展示在頁面上。ajax
該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小程序
爲創建快速的網站黃金參考標準,雅虎2007年爲網站提升速度的13個簡易規則。服務器
mvcminiprofilermvc
Stack Overflow 用MVC Mini Profiler來促進開源,而在把每一頁的右上角服務器渲染時間的簡單行來迫使咱們解決咱們全部的性能衰退和遺漏。若是你在使用.NET開發應用,必定要使用上這個工具。框架
包括如下核心組件:工具
MiniProfiler MiniProfiler.EntityFramework 如何安裝?性能
1、環境準備 Visual Studio 2010 ASP.NET MVC項目 若是須要調試EF,建議升級到Entity Framework 4.2 2、安裝 推薦使用NuGet方式進行安裝;優化
第一步:在引用上右鍵選擇「Manage NuGet Packages」網站
第二步:Online搜索miniprofiler
image
MiniProfiler、MiniProfiler.EF、MiniProfiler.MVC3,同時會自動安裝依賴組件:WebActivator, 同時也會自動在項目裏面添加代碼文件:MiniProfiler.cs
第三步:修改代碼使MiniProfiler生效 在global.cs的Application_Start事件裏面增長代碼: StackExchange.Profiling.MiniProfilerEF.Initialize(); 修改View的layout文件,在head區域增長以下代碼:@StackExchange.Profiling.MiniProfiler.RenderIncludes()
若是安裝步驟一切順利的話,打開站點的時候,就能夠在左上角看到頁面執行時間了,點開能夠看到更詳細的信息,若是有SQL的話,還會顯示SQL語句信息,很是的方便。 頁面上若是有ajax請求,也會同時顯示到左上角。若是左上角顯示紅色提示,則表示可能存在性能問題須要處理:
image
點開SQL部分,能夠看到詳細的SQL語句
image 標記爲duplicate的部分,表明在一次請求當中,重複執行了查詢,能夠優化。