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個分析請求的分析信息等。

結果展示:

 

此隨筆乃本人原創,如有疑問歡迎在下面評論,轉載請標明出處。

如果對您有幫助請動動鼠標右下方給我來個贊,您的支持是我最大的動力。

MiniProfiler 官網:http://miniprofiler.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM