MiniProfiler安装使用心得

MiniProfiler简介:

MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC的性能分析的小程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL(支持EF、EF CodeFirst等 )。并且以很友好的方式展现在页面上。

该Profiler的一个特别有用的功能是它与数据库框架的集成。除了.NET原生的 DbConnection类,profiler还内置了对实体框架(Entity Framework)以及LINQ to SQL的支持。任何执行的Step都会包括当时查询的次数和所花费的时间。为了检测常见的错误,如N+1反模式,profiler将检测仅有参数值存在差 异的多个查询。

MiniProfiler是以Apache License V2.0协议发布的,你可以在NuGet找到。配置及使用可以看这里:http://code.google.com/p/mvc-mini-profiler

为建立快速的网站黄金参考标准,雅虎2007年为网站提高速度的13个简易规则

以上这一段是照抄的张善友的博客,原文地址:http://www.cnblogs.com/shanyou/archive/2012/04/03/2430977.html

MiniProfiler安装:

注:我安装的EF6,所以选择此版本,其它版本可对应选择。

注:这里的MVC4是适用MVC4和5两个版本的

到这里,我们需要安装的程序包就都已经安装好了。

 MiniProfiler使用:

首先,在你的Global.asax文件中加入:

protected void Application_BeginRequest()
        {
            if (Request.IsLocal)//这里是允许本地访问启动监控,可不写
            {
                MiniProfiler.Start();
               
            }
        }

        protected void Application_EndRequest()
        {
            MiniProfiler.Stop();
        }

然后找到你需要监控的页面,在页面中加入:

@using StackExchange.Profiling;
@MiniProfiler.RenderIncludes();

注:如果想监控所有页面,可将其加入到布局页中

然后在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>

运行后效果:

 MiniProfiler监测EF:

在Global.asax文件中加入MiniProfilerEF6.Initialize();,并引入对应命名空间using StackExchange.Profiling.EntityFramework6;

然后随意写个 controller测试一下:

运行后:

在这里我用MiniProfiler对两个查询进行了分类,我们可以看到两个查询分别用了733.3ms和1027.5ms,占整个页面加载的52.4%。

 

posted @ 2016-08-24 19:47  Sundar  阅读(3529)  评论(1编辑  收藏  举报