MiniProfiler監控調試MVC5以及EntityFramework6性能

想要經過在MVC中view中直觀的查看頁面加載以及後臺EF執行狀況,能夠經過MiniProfiler小工具來實現。html

可是從網上搜索的相關信息要麼是MVC4下的老版本的MiniProfiler,要麼就是標題是MVC5+EF6可是裏講的根本實現不告終果。web

通過我本身一番折騰後,終於成功搞定。工具

具體操做分爲三步:佈局

 

ps:沒圖說個毛啊。性能

上圖:測試

 

如今將具體的操做步驟記錄一下,方便之後用到。spa

一、安裝MiniProfiler.EF6

寫在前面:調試

一、須要在vs中添加MiniProfiler、MiniProfiler.EF六、MiniProfiler.MVC5三個包code

二、引用的三個包版本MiniProfiler 4.0.165, MiniProfiler.EF6 4.0.165 ,MiniProfiler.MVC5 4.0.165htm

引用狀況以下:

 

二、將MiniProfiler.EF配置到項目中

一、配置Global.asax文件

打開Global.asax文件,在Application_Start方法中添加MiniProfiler的配置,須要添加兩個代碼:

MiniProfiler.Configure(new MiniProfilerOptions()
MiniProfilerEF6.Initialize()

手動添加Application_BeginRequest、Application_EndRequest兩個方法。

Application_BeginRequest方法中添加以下代碼:

if (Request.IsLocal)
            {
                MiniProfiler.StartNew();

            }

 

Application_EndRequest方法中添加以下代碼:

  MiniProfiler.Current?.Stop();

 

配置好後的完整內容:

二、修改_Layout.cshtml佈局文件

首頁在Views\Shared\_Layout.cshtml頁面中引入兩個文件

@using StackExchange.Profiling.Mvc
@using StackExchange.Profiling

而後在<body>標籤最後添加一行代碼:

@(MiniProfiler.Current.RenderIncludes())

配置好後的頁面以下:

三、修改Web.config

在Web.config中

<system.webServer>
<handlers>

節點下插入代碼

      <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />

要在頁面上顯示MVC和EF的調試跟蹤時間必需要加入上面的代碼

配置圖以下:

三、運行結果

 

四、具體方法執行性能監控

若是須要監控具體的一個操做的性能,能夠經過添加以下代碼實現:

只須要將想要監控的操做放到//Todo中就能夠了。

 

本地測試代碼配置以下:

 

展現一下執行效果

上面多出了剛纔後臺配置的「執行插入操做」,「執行查詢操做」兩個操做的記錄。這樣就能夠細緻的監控到我們想要監控的內部具體操做狀況了。

能夠方便咱們及時、快速、方便的找出代碼的性能瓶頸所在。

PS:若是有描述的不對的,請各位不吝賜教,我好及時修改,以避免給其餘看到的人形成錯誤示範

謝謝

相關文章
相關標籤/搜索