- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 的内部实现。
当进
您可能关注的文档
- 第五届大学生科技文化节活动申请表.doc
- 办法章程二.doc
- 美国音乐.ppt
- 集体备课、教研活动方案.doc
- CI设计与制作rq.ppt
- 目标计划行动 活动课.doc
- 2013宜宾中考数学真题.doc
- 化学必修二 第三章 第二节 来自石油和煤的两种基本化工原料.doc
- :4、1 划时代的发现、4.2探究感应电流的产生条件教案案.doc
- 2013年广元市中考历史-七年级复习课件.ppt
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)