我们有一种情况,ASP.NET 工作进程间歇性地使用 100% 的 CPU。在分析 perfmon 结果和内存转储后,我们看到垃圾收集器正在大量使用 CPU 时间的迹象。
使用 WinDbg,我们看到 LOH 充满了包含 HTML 页面的完整页面的字符串。字符串的!gcroot通常找不到任何根。问题是这在 ASP.NET 应用程序上是正常的还是对于我们构建网站的方式更具体?
需要注意的是,这个 ASP.NET 网站是一个基于 Sitecore 的网站。我们知道 Sitecore 会缓存 HTML 输出,但据我了解,Sitecore 不会缓存整个页面,而只会缓存渲染级别。