.NET性能调优之一:ANTS Performance Profiler的使用.pdfVIP

.NET性能调优之一:ANTS Performance Profiler的使用.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.NET性能调优之一:ANTS Performance Profiler的使用

.NET 性能调优之一:ANTS Performance Profiler 的使用 在使用.NET 进行快速地上手与开发出应用程序后,接下来面临的问题可能就是程序性能调优方面的问题,而性能调优有时候会涉及方方面 面的问题,如程序宿主系统、数据库、网络环境等等,而当程序异常庞大复杂的时候,性能调优将变得更加无从下手。 本系列文章主要会介绍一些.NET 性能调优的工具、Web 性能优化的规则(如YSlow)及方法等等内容。成文前最不希望看到的就是园子里 不间断的“哪个语言好,哪个语言性能高”的争论,不多说,真正的明白人都应该知道这样的争论有没有意义,希望我们能从实际性能优 化的角度去讨论问题。 ANTS Performance Profiler 的基本使用 ANTS Performance Profiler 是RedGate 旗下强大的性能调优产品,官方产品页面在这里。 先来看一下软件的基本使用。 使用下面这段代码进行简单的测试。 这是一个控制台应用程序,程序很简单,先进行10000 次循环,输出和,再使用LINQ 在list 里找出1000 的值输出。 1. static void Main() 2. { 3. var list = new Listint(); 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: 1000 14. 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 的内部实现。 当进

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档