.Net Core使用MiniProfiler进行性能分析

我们使用EF和在很大程度提高了开发速度,不过随之带来的是很多性能低下的写法和生成不太高效的sql。

虽然我们可以使用SQL Server Profiler来监控执行的sql,不过个人觉得实属麻烦,每次需要打开、过滤、清除、关闭。

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

官方文档: https://miniprofiler.com/dotnet/AspDotNetCore

1、添加包 MiniProfiler.AspNetCore.MvcMiniProfiler.EntityFrameworkCore

2、在 Startup.cs 中的 ConfigureServices 下添加,也可以根据官方文档中的说明进行相应的配置

1
services.AddMiniProfiler().AddEntityFramework();

3、在 Startup.cs 中的 Configure 下添加

1
app.UseMiniProfiler();

4、修改 _ViewImports.cshtml

1
2
@using StackExchange.Profiling
@addTagHelper *, MiniProfiler.AspNetCore.Mvc

5、将MiniProfiler添加到布局文件(Shared/_Layout.cshtml)中

1
<mini-profiler />

完成~