小编Dav*_*ave的帖子

生产网络服务器上的间歇性高 CPU (100%)

来自 StackOverflow 的 X-Post:

/sf/ask/662558641/

我们有一个包含 3 个网络服务器的网络集群,每个服务器有 24 个内核和 24GB 内存。

我们的应用程序是最新修补的 ASP.NET 4.0,带有 MVC3,在 IIS 7.5 上 - 在它自己的应用程序池中。

非常间歇性地,(可能每 2/3 天一次)其中一个网络服务器将停止服务请求,并且所有 24 个内核将显示 100% CPU(内存和磁盘看起来正常)。

有几次 IIS 管理器没有完全冻结,主动运行的请求似乎没有提供任何有用的信息,而是随机分布在大量站点区域/请求中。

一旦服务器死机,我们就可以将它从负载中取出 - 在可能 5 分钟不再提供服务请求后,CPU 活动将回落到正常状态 - 让我们认为这不是一个无限循环。

工作进程的内存转储(大约 4GB 的大小!)似乎没有在任何托管堆栈跟踪中的任何地方显示我们的任何代码/命名空间 - 但只是 .Net begin 请求内容(我可能正在使用 WinDbg错误 - 并且没有正确加载我们的符号 - 但堆栈跟踪没有显示任何丢失/未命名的方法调用 - 所以我很困惑)

我们的服务器通常很高兴地处理 1000 个请求/秒,所以这一切都很奇怪。

我们在 Perfmon 中注意到的一件奇怪的事情是争用率 / 秒接近 800。我们的应用程序中没有任何花哨的多线程代码,我们拥有的唯一锁是我们的缓存代码(没有时代变了)。

任何有关如何进一步诊断此问题的建议/技巧将不胜感激。

干杯。

asp.net iis-7.5 asp.net-mvc mvc cpu-usage

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

cpu-usage ×1

iis-7.5 ×1

mvc ×1