去自己想去的地方,呼吸那里的空气,贴近那里的土地,认识那里的人们......
老听到客户抱怨“你的系统很慢啦!”做为无所不能的设计者,该这么解决这个问题呢? 第一问题:系统慢在哪了?这时候有两种情况:1.客户明确的抱怨某个功能很慢。OK,这种问题容易解决,调出这个功能的Unit test函数来(应该不会没写单元测试吧?:),如图所示:单击“Create Performance Session”,创建一个Performance Session。单击Launch的按钮,Performance Session会自动创建一个性能报告,包括了:最经常调用的函数,函数的执行时间,函数列表,程序调用堆栈。是不是很神奇?调用堆栈段:一旦知道哪些函数调用最慢,接下来就是修改代码咯(也许是tunning DB)。2.整个系统很慢,你不知道问题出在哪了?整个系统很慢?压力测试是怎么做的?!!呵呵,说笑了,我们一起找出问题根源。先打开Performance Explorer, 选择Web项目:然后输入你要测试的URL,要注意的是Profiling Method选择Instrumentation。Instrumentation方法下Performance Explorer只探测你的应用程序,不会记录一大堆.net类库函数的调用。我想在大多数情况下,我们不关心.net类库的运行性能,因为无法改。生成的项目如下:接下来启动测试,模拟用户输入,让Performance Explorer捕获测试数据。注意分析程序的调用的Call Tree:第一列是调用函数名,第二列是调用次数,第三列是耗时。导致系统运行缓慢的坏孩子在哪?那些调用较多同时又长时间运行的就是啦!把他们拖出去毙了,系统就活了。当然,强烈不建议在production计算机上运行这样的调试。第一,影响正常运行;第二,你不会想在生产计算机上装个VS2005吧?(Profiling 使用探针技术,似乎没有远程插入的功能) 正确的做法是备份一份系统和数据到测试服务器上,在测试服务器上运行。附:在Performance Explorer这个漂亮baby诞生之前,我们是怎么做性能分析呢:1. 在系统的每个方法中加入Traceing,在问题发生时打开,在问题解决后关闭Traceing。缺点很明显:非业务功能代码不合时宜的出现在许多方法中。2. 使用依赖注入。例如Elib3.1中在方法头加入log标签。缺点也很明显,因为每个对象是动态构造的,造成系统性能损失。第二个问题:系统什么时候慢?有的系统有的时候快,有的时候慢,例如晚上9:00开始就特别慢?是网络问题?是设计问题?是磁盘问题?不要瞎猜了,下篇我们就把trouble maker揪出来!待续......
posted on 2007-06-11 17:02 shyuan 阅读(3365) 评论(13) 编辑 收藏
请问楼主,Performance Explorer那里有下载啊? 回复 引用
排版似乎有点问题,在我这里看,上面整屏空白 回复 引用 查看
Performance Explorer VS2005自带 多谢Justin提醒。 回复 引用 查看
不错的哦,有个问题问下,如果application 是backend services, 不想整个application测试,只需要run unit test,然后通过这工具去计算某个class的性能,那就需要在这launch unit test 做为入口点 ,但如果用nunit 测试,可以用跟终进程的方式进行性能分析, 那如果是vsts 集成的unit test,该怎么跟终呢? 回复 引用
怎么回复后才发现是你啊,my leader. 回复 引用
通过新的 Enterprise Performance Tool 使应用程序飞速运行 http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/enterpriseperformance.mspx?mfr=true 如何最大限度提高.NET的性能 http://www.itepub.net/html/kaifajingcui/Asp_Net/2006/1220/42362.html http://www.itepub.net/html/kaifajingcui/Asp_Net/2006/1220/42353.html Google Performance Tools http://www.muduo.net/batch.viewlink.php?itemid=75268 ASP.NET Performance Case Study: Web Service calls taking forever http://blogs.msdn.com/tess/archive/2006/02/23/537681.aspx 回复 引用 查看
Mark:) 回复 引用 查看
很不错,谢谢.. 回复 引用 查看
good 回复 引用
我顶~~呵呵 回复 引用
Performance Explorer出现前有一个第三方公司做的工具,可以做到一样的测试效果。忘记什么名字了 ;-) 回复 引用 查看
请问上面的Performance Explorer 在 vs2005里面还是? 回复 引用 查看
Powered by: 博客园 Copyright © shyuan