.NET机能调优系列文章
系列文章索引
.NET机能调优之一:ANTS Performance Profiler的运用
.NET机能调优之二:运用Visual Studio举行代码器量
.NET机能调优之三:YSlow相干划定规矩的调优东西和要领
在运用.NET举行疾速地上手与开发出应用顺序后,接下来面对的题目能够就是顺序机能调优方面的题目,而机能调优有时刻会触及各个方面的题目,如顺序宿主体系、数据库、收集环境等等,而当顺序异常巨大庞杂的时刻,机能调优将变得越发无从下手。
本系列文章重要会引见一些.NET机能调优的东西、Web机能优化的划定规矩(如YSlow)及要领等等内容。成文前最不愿望看到的就是园子里不间断的“哪一个言语好,哪一个言语机能高”的争辩,不多说,真正的明白人都应该晓得如许的争辩有无意义,愿望我们能从现实机能优化的角度去议论题目。
ANTS Performance Profiler的基础运用
ANTS Performance Profiler是RedGate旗下壮大的机能调优产物,官方产物页面在这里。
先来看一下软件的基础运用。
运用下面这段代码举行简朴的测试。
这是一个控制台应用顺序,顺序很简朴,先举行10000次轮回,输出和,再运用LINQ在list里找出1000的值输出。
1 static void Main() 2 { 3 var list = new List<int>(); 4 5 var sum = 0; 6 for (var i = 0; i < 10000; i++) 7 { 8 sum += i; 9 list.Add(i);10 }11 Console.WriteLine(sum);12 13 //find the value use linq: 100014 var result = list.Where(p => p.Equals(1000));15 foreach (var i in result)16 {17 Console.WriteLine(i);18 }19 Console.ReadKey();20 }
编译顺序后,启动ANTS Performance Profiler,会自动弹出导游页面,在此页面中,能够看到软件支撑多种.NET顺序的机能监控,如EXE、web、Windows Service等等。
而在Performace Counters中能够根据须要挑选多种计数器,IO、内存分派、处理器等等。
针对测试DEMO,挑选编译后的exe文件途径,由于刚才是debug编译,所以挑选顺序文件夹下\bin\Debug\内里的exe即可。
在Profiling Mode里能够挑选监控的级别,基础就是监控信息的若干与速率的衡量,默许挑选“最细致”即可。其他的细致设置能够参考协助文档。
点击“Start Profiling”,启动顺序。
剖析效果的检察与剖析
软件的基础事情道理是在.NET编译出的IL代码里放入钩子用来纪录时候,然后经由过程直观的界面显示出哪部份代码耗能最大。所以这是机能调优最直接的要领,针对最耗时的代码段举行优化即可。
点击“Start Profiling”后启动之前编译的顺序,软件最早实行,假如是其他交互顺序如winform、web等,操纵完须要举行机能调优的功用后,在顶部的运转时候轴里用鼠标选定须要检察的时候段即可,平常有机能题目的时候段会涌现一个波峰,选定谁人时候段即可。
选定后能够马上鄙人面的效果窗口中看到最耗时的要领,比方上面的DEMO,固然机能都斲丧在了Main函数上。
软件供应了多种器量值检察机能消耗,有百分比和多种时候花样,这里选定“秒”作为器量单元。
再挑选要检察的函数,软件壮大的地方就显现出来了。
右边的赤色标线,点击能够疾速定位到最耗能的代码,色彩越深示意那段代码越耗能。
左边能够看到行号,此段代码实行的次数(Hit Count),均匀实行时候,总的实行时候,固然还能够同时看到代码供剖析运用。
至于DEMO里这段代码为何第一次实行Console.WriteLine云云耗能,我想假如你仔细看了《CLR via C#》的第一章就应该能晓得答案了。
固然你还能够点击条理构造图标,检察越发直观的机能消耗,就像下面如许。
如许的条理构造图另有一个优点就是能够看到.NET Framework的内部完成。
当举行一些决议计划,比方是用原生的功用照样第三方组件时,这个功用会变得异常好用,由于经由过程它能比较直观的地看到内部完成的机能瓶颈在那里。
结语
ANTS Performance Profiler是我机能调优时最早运用也是最喜欢运用的东西,所以放在了第一篇文章里来分享给人人,愿望能给列位带来点协助。
它异常的直观、壮大,由于手头庞杂的项目不适合用来做DEMO,所以只是写了段简朴的代码作演示,它的壮大的地方还待你真正碰到机能题目运用它时去好好体味。
文章有所疏漏和要补充的,请留言一同议论,也请关注后续的相干文章。
假如文章对你有点协助,引荐一下吧,感谢 :)
以上就是ANTS Performance Profiler(.NET机能调优教程)的细致内容,更多请关注ki4网别的相干文章!