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

ASP.NET MVC5使用MiniProfiler监控MVC性能

程序员文章站 2022-06-23 11:07:03
miniprofiler ,一个简单而有效的迷你剖析器,可以有效的实时监控页面。通过直接引用、ajax、iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可...

miniprofiler ,一个简单而有效的迷你剖析器,可以有效的实时监控页面。通过直接引用、ajax、iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的sql。

1.安装

首先新建一个 asp.net mvc 项目

右键项目,管理nuget程序包。 安装 miniprofiler.mvc4和miniprofiler

ps:miniprofiler.mvc4的nuget包(该mvc4包支持mvc5)

ASP.NET MVC5使用MiniProfiler监控MVC性能

或者也可以打开程序包管理控制台 输入命令进行安装

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

结果展示:

ASP.NET MVC5使用MiniProfiler监控MVC性能

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。