注意:我无法确定这是否更适合 Stack Overflow 或 Serverfault,所以如果您对此有所了解,请告诉我。
背景:最近,我的服务器(Windows 2000、MS SQL 2005、IIS 5.0、ASP Classic)遇到了一组特定 ASP 页面的流量高峰。这个尖峰导致处理器大量消耗,达到 100% 并导致访问者出现各种超时问题。
我们实际上已经处理了比这更大的流量而没有错误。问题似乎是被调用的特定 ASP 脚本使用了大量的处理器时间。使用 Sysinternals 的 Process Explorer,我发现 dllhost.exe 占用了所有处理器时间。查看它的线程,罪魁祸首是对 COMSVCS.DLL 的调用,这似乎是 COM+ 对象。
所以,看起来我的 ASP 页面正在调用 COM+ 对象,它正在杀死我的处理器。
问题是:如何确定 ASP 脚本的哪些部分正在调用 COM+ 对象,以及如何从这些部分开始提高性能?我基本上没有 Windows 编程背景,所以我不知道如何开始。
谢谢你的帮助。