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:若是有描述的不对的,请各位不吝赐教,我好及时修改,以避免给其余看到的人形成错误示范

谢谢

相关文章
相关标签/搜索