使用MvcMiniProfiler调试ASP.NET MVC网站性能

什么是MvcMiniProfiler?

一款由stackoverflow.com团队开发,专门针对ASP.NET MVC站点进行性能调试的工具,同时,其中的MvcMiniprofiler.EntityFramework组件,能直接输出当前页面执行了哪些SQL语句。

包括以下核心组件:

  • MvcMiniProfiler
  • MvcMiniProfiler.EntityFramework

如何安装?

一、环境准备

  • Visual Studio 2010
  • ASP.NET MVC项目
  • 如果需要调试EF,建议升级到Entity Framework 4.2

二、安装

推荐使用NuGet方式进行安装。推荐重典的文章:NuGet安装及简单使用

  • 第一步:在引用上右键选择“Manage NuGet Packages”
  • 第二步:Online搜索miniprofiler
    安装MiniProfiler、MiniProfiler.EF、MiniProfiler.MVC3,同时会自动安装依赖组件:WebActivator, 同时也会自动在项目里面添加代码文件:MiniProfiler.cs
  • 第三步:修改代码使MvcMiniProfiler生效

    在global.cs的Application_Start事件里面增加代码: MvcMiniProfiler.MiniProfilerEF.Initialize();
    修改View的layout文件,在head区域增加如下代码:@MvcMiniProfiler.MiniProfiler.RenderIncludes()

使用

如果安装步骤一切顺利的话,打开站点的时候,就可以在左上角看到页面执行时间了,点开可以看到更详细的信息,如果有SQL的话,还会显示SQL语句信息,非常的方便。 页面上如果有ajax请求,也会同时显示到左上角。如果左上角显示红色提示,则表示可能存在性能问题需要处理:

点开SQL部分,可以看到详细的SQL语句



标记为duplicate的部分,代表在一次请求当中,重复执行了查询,可以优化。

总结

MvcMiniProfiler确实是一款简便易用的工具,适合进行代码层面和部分SQL层面的优化。在某些方面肯定不能替代像SQL Profiler、.Net profiler、Windbg之类的工具,个人感觉其优势在于:

  • 使用简便
  • 快速定位问题
  • 直观、明了
posted @ 2011-12-01 17:04  L.Qiu  阅读(4116)  评论(10编辑  收藏  举报