用VSTS Profiler发现性能问题并且进行优化实例
上一篇文章介绍了如何使用VSTS的Profiler,今天想分享一下对于一个ASP.NET应用程序,用Profiler找到性能问题并且对之进行优化。
由于ASP.NET程序运行在一个硕大的框架上,所以一般用Sample模式收集到的数据,对发现性能问题帮助不大,以下是一个用Sample模式收集的结果:
从这个报告中我们可以看到,前5个工作量最大的函数和执行单独工作最多的函数都是系统函数。
下面看一下有针对性地用检测模式收集的数据:
本文就采用“检测”模式收集性能数据来进行分析和处理。
首先,把本次测试的目标DLL用VSInstr工具进行处理,使得Profiler能够收集相关的性能数据,这一个步骤非常关键,通常来说不需要设置额外的参数,就是默认的方式就可以了,例如:VSInstr “D:\Websites\xxxx\bin\xxxx.dll”,在处理的过程中可能会提示一些错误,具体错误的信息可以在这里查找。把相应的DLL处理完毕以后,就在命令行输入以下指令(命令行的指令用斜体加下划线表示;说明文字加黑)
