我正在尝试在生产环境(.Net framework 4.0,WebForms,SQLServer,Windows 2008服务器)中分析在IIS上运行的Web应用程序。
生产中有几页反复出现,但我们无法在开发中重现。
我们无法在生产环境中安装任何IDE或类似工具。
有没有人知道我们可以轻易放入服务器的DLL或独立的exe,运行大约一个小时,然后快速轻松地删除?....我们正在寻找一个重要的方面来分析:
- >每个CSharp方法运行所花费的时间是多少。 < -
提前谢谢。
答案 0 :(得分:0)
尝试使用此https://github.com/jitbit/cpu-analyzer命令行工具来分析生产中的cpu负载。
我们从最初的Sam Saffron的cpu profiler中分出了这个,现在有点放弃了。
免责声明:我是这个项目的维护者。
答案 1 :(得分:0)
Perfview是用于此目的的最佳工具之一,曾用于查找众多生产问题。
您可以使用多种方法缩小问题范围,它可以从网络级别告诉IIS到asp.net到您的C#方法。它使用IiS,Asp.net和CLR发出的ETW事件来执行此操作。
使用ThreadTime视图,您可以缩小到特定方法
Perfview总是收集系统范围的数据,你也可以设置一个循环缓冲区。但是收集数据的最好方法是当问题开始发生时,你去相关的服务器并启动perfview跟踪并重现问题。然后你可以稍后分析这些数据以找出性能瓶颈。