使用MiniProfiler 分析 EntityFramework 6.0(EF6.0) 站点性能

知道91 | 教程 | 2017-11-07 | 阅读:4570

.NET MVC在使用EntityFramework 6.0(EF6.0)访问数据库的时候的确非常的方便,但是要查看具体访问数据库生成的SQL,分析页面执行SQL的效率的时候是特别的不方便。

今天就分享一下使用MiniProfiler分析.NET MVC页面性能和SQL,查看API方法生成的SQL。

安装MiniProfiler相关包

打开VS“工具”->“NuGet包管理器”->“管理解决方案的NuGet资源包(N)...”,如图所示:

安装MiniProfiler相关包

然后在输入框中分别安装MiniProfiler、MiniProfiler.EF6、MiniProfiler.MVC4到你的Web项目和API所在项目,如下图所示:

安装MiniProfiler、MiniProfiler.EF6、MiniProfiler.MVC4

添加MiniProfiler监控代码

打开Global.asax文件,在Application_BeginRequest和Application_EndRequest加入MiniProfiler的代码,如下所示:

protected override void Application_BeginRequest(object sender, EventArgs e)
{
    base.Application_BeginRequest(sender, e);
    MiniProfiler.Start();
}

protected override void Application_EndRequest(object sender, EventArgs e)
{
    base.Application_EndRequest(sender, e);
    MiniProfiler.Stop();
}

添加View视图代码

在你页面的Layout母版页的最后加上如下代码

@MiniProfiler.RenderIncludes()

这时候运行你的站点,打开页面里就可以MiniProfiler相关的信息,如下图所示:

添加MiniProfiler View视图代码

如果没有显示出如图所示信息,并且报错mini-profiler-resources/results 404 not found,你需要在web.config中添加如下代码:

 <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />

添加位置,如图所示:

mini-profiler-resources not found 404

但是这时还没有看到SQL信息,不要急,还需要加一段代码,你还需要在你的Application_Start()方法中加如下代码:

 MiniProfilerEF6.Initialize();

加上后的效果如下所示:

MiniProfilerEF6 添加Application_Start

如上图标记所示,就是执行的SQL,点击即可显示出对应的SQL语句。

以上就是使用MiniProfiler监控.NET MVC 站点性能和SQL的操作。