我已经将一个.NET网站部署到了一个2008(IIS7)服务器上,该网站似乎最多可以飞到30-50个并发用户。在进行负载测试时,该网站在100个并发用户之后的某个时间停止运行。页面加载从1.5秒到90 +
w3wp达到100%并保持这种状态,直到我停止负载测试。另一方面,SQL闲置约2-3%。
我使用调试diag进行了跟踪,报告指出其中一个线程占用了11.358 cpu时间而0.687则是最接近的亚军。很高兴我找到了罪魁祸首,但是我不知道该怎么做我已被给予的信息。这是报告输出。
线程19 - 系统ID 4016入口点 0x00000000创建时间7/8/2009 9:28:53 PM在用户模式下花费的时间
0天00:00:11.187花费的时间 内核模式0天00:00:00.171功能源 NTDLL!KiFastSystemCallRet
NTDLL!NtWaitForSingleObject + C
KERNEL32!WaitForSingleObjectEx +被
mscorwks!PEImage ::的LoadImage + 1AF
mscorwks!CLREvent ::威特集团+ 117
mscorwks!CLREvent ::等待+ 17
mscorwks!ThreadpoolMgr :: SafeWait + 73
mscorwks!ThreadpoolMgr :: WorkerThreadStart + 11C mscorwks!主题:: intermediateThreadProc + 49 kernel32!BaseThreadInitThunk + e ntdll!__ RtlUserThreadStart + 23NTDLL!_RtlUserThreadStart + 1b的
感谢任何帮助!
答案 0 :(得分:5)
我建议您使用更高级别的分析器。这是一个清单:
答案 1 :(得分:1)
检查性能监视器以查看抛出了多少异常,这些异常使用了大量的cpu。