这篇文章主要为大家详细介绍了 ASP.NET MVC5 使用 MiniProfiler 监控 MVC 性能, 具有一定的参考价值, 感兴趣的小伙伴们可以参考一下
MiniProfiler , 一个简单而有效的迷你剖析器, 可以有效的实时监控页面通过直接引用 AjaxIframe 形式访问的其它页面进行监控, 监控内容包括数据库内容, 并可以显示数据库访问的 SQL
1. 安装
首先新建一个 asp.net mvc 项目
右键项目, 管理 NuGet 程序包 安装 MiniProfiler.Mvc4 和 MiniProfiler
ps:MiniProfiler.MVC4 的 NuGet 包 (该 MVC4 包支持 MVC5)
或者也可以打开程序包管理控制台 输入命令进行安装
- 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 个分析请求的分析信息等
结果展示:
来源: http://www.phperz.com/article/18/0321/352342.html