非常高 CPU 在极少数用户的 Web 应用程序上使用

Very high CPU use on web application from very few users

我们有一个非常简单的 asp.net 网络表单网站,供会员在线制作 payments/update 地址详细信息。问题是,由于遗留的内部系统,我们不得不使用一些陈旧的 XML Web 服务,一旦完成,就需要解析(服务 return 一个 XML 字符串,甚至没有正确格式化 XML).当用户登录到他们的帐户时,将进行大约 20 次 Web 服务调用。当服务器不太忙时,第一次加载往往需要大约 10-15 秒。

我们有一个快速连接的内部专用服务器 运行。它是 64 位 Windows Server 2008 R2 Standard,双核 Intel Xeon E5-2650 2.67Ghz 处理器,24GB RAM。

如果只有大约 20 名成员登录,这几乎会使服务器瘫痪。 100% CPU,内存使用率直线上升,503 错误,应有尽有。例如,如果我确实可以将 memory/CPU 的用法与 Web 服务调用联系起来,那么我也许可以尝试做一些事情。

虽然我找不到任何方法来找出这个。我试过 debugdiag 但它崩溃了。 Perfmon 的东西似乎也没有给我任何帮助。

如果我将 IIS 池中的最大工作进程数设置为 1 以外的任何值,我只会让几个进程相互竞争以占用 100%!

我现在完全卡住了,希望能有任何 hints/tips?

好吧,感谢那些在没有真正考虑到我已经投入大量研究和时间来研究这个问题的情况下投票的人!

我们的问题(在关键字 "XML" 和 "memory use" 上可能已经被一些人注意到了)是使用了 XMLSerializer 的声明。以前的开发人员以一种不会被处理的方式完成它,一旦我将其修改为静态 class 它立即解决了所有问题。

Link 我用的是:http://dotnetcodebox.blogspot.co.uk/2013/01/xmlserializer-class-may-result-in.html