MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC、WebForm 以及WCF 的性能分析的小程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL(支持EF、EF CodeFirst等 )。并且以很友好的方式展现在页面上。
该Profiler的一个特别有用的功能是它与数据库框架的集成。除了.NET原生的 DbConnection类,profiler还内置了对实体框架(Entity Framework)以及LINQ to SQL的支持。
Getting Started on .Net:
MiniProfiler——核心。所需的任何分析(下面所有的软件包列表作为一个依赖项)
MiniProfiler.EF6——分析实体框架版本6 +
MiniProfiler.EF5——分析实体框架版本4和5
MiniProfiler.EF——过时的包。请使用上面的其他EF包之一。
MiniProfiler.MVC3——MVC 3网站
MiniProfiler.MVC4——MVC 4和5的网站
MiniProfiler.Raven——RavenDb连接
安装:
PM> Install-Package MiniProfiler
Install-Package MiniProfiler.EF
Install-Package MiniProfiler.MVC3
在global.cs的Application_Start事件里面增加代码: MvcMiniProfiler.MiniProfilerEF.Initialize();
修改View的layout文件,在head区域增加如下代码:@MvcMiniProfiler.MiniProfiler.RenderIncludes()
如果安装步骤一切顺利的话,打开站点的时候,就可以在左上角看到页面执行时间了,点开可以看到更详细的信息,如果有SQL的话,还会显示SQL语句信息,非常的方便。 页面上如果有ajax请求,也会同时显示到左上角。如果左上角显示红色提示,则表示可能存在性能问题需要处理。
点开SQL部分,可以看到详细的SQL语句,标记为duplicate的部分,代表在一次请求当中,重复执行了查询,可以优化。
总结:
MvcMiniProfiler确实是一款简便易用的工具,以可视化的方式让你随时监控开发过程中的性能问题。适合进行代码层面和部分SQL层面的优化。MiniProfiler不只是提供了MVC和EF扩展,还有针对windows开发,WCF, NHibernate等。在某些方面肯定不能替代像SQL Profiler、.Net profiler、Windbg之类的工具,但是它使用简便、直观、明了。
The following code should be added in the web.config:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
//...
<add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
</handlers>
</system.webServer>
请发表评论