這篇文章主要為大家詳細介紹了ASP.NET MVC5使用MiniProfiler監控MVC效能,具有一定的參考價值,感興趣的小夥伴們可以參考一下
MiniProfiler ,一個簡單而有效迷你剖析器,可以有效即時監控頁面。通過直接引用、Ajax、Iframe形式訪問的其它頁面進行監控,監控內容包括資料庫內容,並可以顯示資料庫訪問的SQL。
1.安裝
首先建立一個 asp.net mvc 項目
右鍵項目,管理NuGet程式包。 安裝 MiniProfiler.Mvc4和MiniProfiler
ps:MiniProfiler.MVC4的NuGet包(該MVC4包支援MVC5)
或者也可以開啟程式包管理主控台 輸入命令進行安裝
Install-Package MiniProfiler -Version 3.2.0.157
Install-Package MiniProfiler.Mvc4 -Version 3.0.11
2.將以下內容添加到Application_Start()Global.asax中
protected void Application_Start(){ ... GlobalFilters.Filters.Add(new ProfilingActionFilter()); var copy = ViewEngines.Engines.ToList(); ViewEngines.Engines.Clear(); foreach (var item in copy) { ViewEngines.Engines.Add(new ProfilingViewEngine(item)); }}
3.將以下內容添加到“Application_BeginRequest()”和“Application_EndRequest()”,也在Global.asax中
protected void Application_BeginRequest(){ if (Request.IsLocal) { MiniProfiler.Start(); }}protected void Application_EndRequest(){ MiniProfiler.Stop();}
4.將以下內容添加到_Layout.cshtml(就在</body>標籤之前):
@StackExchange.Profiling.MiniProfiler.RenderIncludes()</body></html>
5.將以下內容添加到<handlers>Web.config 的部分中:
<system.webServer> ... <handlers> ... <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" /> ... </handlers></system.webServer>
如果你在項目中使用了Entity Framework ,那麼你可以安裝MiniProfiler.EF6軟體包,在Application_Start()在Global.asax 結尾添加了以下內容: MiniProfilerEF6.Initialize();
一個簡單的對MVC效能的監控就這樣了,其實他還有很多功能,比如說能夠通過不同的參數檢測並反白執行相同查詢的地區。這樣您就可以快速找到可能批量的查詢。
還可以記錄所有的ajax的調用,查看最近100個分析請求的分析資訊等。
結果展示: