MiniProfiler監控調試MVC5以及EntityFramework6性能


想要通過在MVC中view中直觀的查看頁面加載以及后台EF執行情況,可以通過MiniProfiler小工具來實現。

但是從網上搜索的相關信息要么是MVC4下的老版本的MiniProfiler,要么就是標題是MVC5+EF6但是里講的根本實現不了結果。

經過我自己一番折騰后,終於成功搞定。

具體操作分為三步:

 

ps:沒圖說個毛啊。

上圖:

 

現在將具體的操作步驟記錄一下,方便以后用到。

1、安裝MiniProfiler.EF6

寫在前面:

1、需要在vs中添加MiniProfiler、MiniProfiler.EF6、MiniProfiler.MVC5三個包

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

引用情況如下:

 

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

1、配置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();

 

配置好后的完整內容:

2、修改_Layout.cshtml布局文件

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

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

然后在<body>標簽最后添加一行代碼:

@(MiniProfiler.Current.RenderIncludes())

配置好后的頁面如下:

3、修改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的調試跟蹤時間必須要加入上面的代碼

配置圖如下:

3、運行結果

 

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

如果需要監控具體的一個操作的性能,可以通過添加如下代碼實現:

只需要將想要監控的操作放到//Todo中就可以了。

 

本地測試代碼配置如下:

 

展示一下執行效果

上面多出了剛才后台配置的“執行插入操作”,“執行查詢操作”兩個操作的記錄。這樣就可以細致的監控到咱們想要監控的內部具體操作情況了。

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

PS:如果有描述的不對的,請各位不吝賜教,我好及時修改,以免給其他看到的人造成錯誤示范

謝謝


免責聲明!

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



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