欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MiniProfiler监控调试MVC5以及EntityFramework6性能

程序员文章站 2022-10-08 20:50:23
想要通过在MVC中view中直观的查看页面加载以及后台EF执行情况,可以通过MiniProfiler小工具来实现。 但是从网上搜索的相关信息要么是MVC4下的老版本的MiniProfiler,要么就是标题是MVC5+EF6但是里讲的根本实现不了结果。 经过我自己一番折腾后,终于成功搞定。 具体操作分 ......

想要通过在mvc中view中直观的查看页面加载以及后台ef执行情况,可以通过miniprofiler小工具来实现。

但是从网上搜索的相关信息要么是mvc4下的老版本的miniprofiler,要么就是标题是mvc5+ef6但是里讲的根本实现不了结果。

经过我自己一番折腾后,终于成功搞定。

具体操作分为三步:

 

ps:没图说个毛啊。

上图:

 MiniProfiler监控调试MVC5以及EntityFramework6性能

MiniProfiler监控调试MVC5以及EntityFramework6性能

现在将具体的操作步骤记录一下,方便以后用到。

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

引用情况如下:

MiniProfiler监控调试MVC5以及EntityFramework6性能

 

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();

 

配置好后的完整内容:

MiniProfiler监控调试MVC5以及EntityFramework6性能

2、修改_layout.cshtml布局文件

首页在views\shared\_layout.cshtml页面中引入两个文件

@using stackexchange.profiling.mvc
@using stackexchange.profiling

然后在<body>标签最后添加一行代码:

@(miniprofiler.current.renderincludes())

配置好后的页面如下:

MiniProfiler监控调试MVC5以及EntityFramework6性能

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的调试跟踪时间必须要加入上面的代码

配置图如下:

MiniProfiler监控调试MVC5以及EntityFramework6性能

3、运行结果

MiniProfiler监控调试MVC5以及EntityFramework6性能

 

4、具体方法执行性能监控

如果需要监控具体的一个操作的性能,可以通过添加如下代码实现:

MiniProfiler监控调试MVC5以及EntityFramework6性能

只需要将想要监控的操作放到//todo中就可以了。

 

本地测试代码配置如下:

MiniProfiler监控调试MVC5以及EntityFramework6性能

 

展示一下执行效果

MiniProfiler监控调试MVC5以及EntityFramework6性能

上面多出了刚才后台配置的“执行插入操作”,“执行查询操作”两个操作的记录。这样就可以细致的监控到咱们想要监控的内部具体操作情况了。

可以方便我们及时、快速、方便的找出代码的性能瓶颈所在。

ps:如果有描述的不对的,请各位不吝赐教,我好及时修改,以免给其他看到的人造成错误示范

谢谢