.NetCore学习笔记:五、MiniProfiler监控运行效率

摘要:
您可以分析ADO.NET(SQLServer、Oracle等)、LINQ to SQL、EF(CodeFirst&1)。安装MiniProfiler。AspNetCore。web项目中的Mvc包。5} 3. 在配置Startup.cs中配置MiniProfiler。

MiniProfiler是一个简单且高效的小型分析器,可用于.NET,Ruby,Go和Node.js.
MiniProfiler不是将自己附加到每一个方法上,因为这样会有强侵入性而且也不是专注于分析性能问题。

它是一个ADO.NET的分析器,可以分析对于ADO.NET(SQL Server、Oracle等)、LINQ-to-SQL、EF(Code First&EF Core)的原始调用(如生成的sql语句)。
可编程式的分析器,通过在想要分析的步骤上加上step。

MiniProfiler官网:http://miniprofiler.com/
MiniProfiler开源地址:https://github.com/MiniProfiler/dotnet

MiniProfiler在.NetCore中使用起来非常的方便,配置简单,下面我们就来看一下怎么配置:

1、在web项目中安装 MiniProfiler.AspNetCore.Mvc 程序包。

.NetCore学习笔记:五、MiniProfiler监控运行效率第1张

2、在Startup.cs的ConfigureServices中配置MiniProfiler,这里主要完成MiniProfiler的自定义配置(如路由,如果没有特殊要求默认即可。)和内部服务在容器中的注入。

1 public void ConfigureServices(IServiceCollection services)
2 {
3     services.AddMiniProfiler();
4     services.AddControllersWithViews();
5 }

3、在Startup.cs的Configure中配置MiniProfiler,这里主要启用MiniProfilerMiddleware对HTTP请求进行监控。

1 public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
2 {
3     ......
4     app.UseMiniProfiler();
5     ......
6 }

4、在为数据库启用MiniProfiler性能监控,将原有的_connection = new MySqlConnection(connectionString);替换成_connection = new ProfiledDbConnection(new MySqlConnection(connectionString), MiniProfiler.Current);就可以了。

1 public UnitOfWork(IConfiguration configuration)
2 {
3     var connectionString = configuration.GetConnectionString("SqlConnection");
4     _connection = new ProfiledDbConnection(new MySqlConnection(connectionString), MiniProfiler.Current);
5     _connection.Open();
6 }

5、自定义监控,可以对指定的一段代码进行性能监控

1 public TestDto Get(string id)
2 {
3     using (MiniProfiler.Current.Step("一个测试")) {
4         var test = _testDomain.Get(id);
5         return test.MapTo<TestDto>();
6     }
7 }

6、页面添加引用和标签

.NetCore学习笔记:五、MiniProfiler监控运行效率第2张

.NetCore学习笔记:五、MiniProfiler监控运行效率第3张

 .NetCore学习笔记:五、MiniProfiler监控运行效率第4张

最后我们来看一下成果:

.NetCore学习笔记:五、MiniProfiler监控运行效率第5张

 单机“share”可以查看详情

.NetCore学习笔记:五、MiniProfiler监控运行效率第6张

 根据监控的数据,我们就能很好的了解整个程序的性能情况。

源码地址:https://github.com/letnet/NetCoreDemo

免责声明:文章转载自《.NetCore学习笔记:五、MiniProfiler监控运行效率》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用html2canvas和jsPdf实现打印功能使用postman调用webservice接口下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

腾讯WeTest性能测试工具PerfDog获得中国计量科学研究院权威测试认证

2020年11月,由国家最高的计量科学研究中心和国家级法定计量技术机构中国计量科学研究院下设单位国家计量器具软件测评中心为腾讯WeTest质量开放平台的性能测试工具PerfDog颁发了“测评证书”,兹认定“移动全平台性能测试分析专家PerfDog(下称PerfDog),各项性能基准值可靠,且具有良好的数据准确性、数据完整性以及较高的数据稳定性”。 这是Pe...

Elasticsearch集群优化实战

版本配置: ES版本:6.2.4 OS内存64G。 一、安装部署: 1.ES jvm内存31G,预留一半的物理内存给文件系统缓存(file system cache)。 2.禁止内存交换: 修改/etc/sysctl.conf 中 vm.swappiness = 1 elasticsearch.yml中,设置这个:bootstrap.mlockall:tr...

zabbix企业应用:通过SNMP和iDRAC监控DELL服务器硬件

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://qicheng0211.blog.51cto.com/3958621/1749986     监控DELL服务器硬件一般有两种途径:1、操作系统上安装OMSA,编写脚本调用omreport命令进行监控;2、使用iDRAC,可以不用在操作系...

监控svn访问记录(转载)

由于公司要求对svn的访问记录进行监控,所以需要对svn的服务器的配置做一些修改。其实也不是很麻烦,只是要做一些调整而己,之前的svn服务端是采用Apache的HTTP协议做为访问svn仓库的方式,所以只需要开启Apache的访问日志即可。基本方法如下:1:找到Apache的配置文件httpd.conf。2:用文本编辑器打开这个文件,查找包括"access...

视频监控存储空间大小与传输带宽计算方法

在视频监控系统中,对存储空间容量的大小需求是与画面质量的高低、及视频线路等都有很大关系。下面对视频存储空间大小与传输带宽的之间的计算方法做以介绍。 视频监控存储空间大小与传输带宽计算方法 比特率是指每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,传送的数据越大。比特率表示经过编码(压缩)后的音、视频数据每秒钟需要...

Mongodb总结6-数据库启动、停止、备份等命令

#启动Mongodb默认启动,需要在/data/db,Windows下对应的目录是Mongod.exe所在磁盘分区的根目录,例如Mongodb存放在D:/Mongodb,那么对应的路径就是D:/data/db/cd /D E:开发Mongodbmongodb-win32-x86_64-2.4.5inmongod.exe或者mongod.exe --port...