在部署为 Azure 应用服务的生产 Web 应用程序 (.NET Framework 4.7.1) 上,我们注意到 CPU 使用率很高。 这似乎是在应用程序工作每隔几天后就会发生一次。 为具有相同服务层和相似使用情况(平均用户)的其他客户端部署相同的应用程序似乎表现更好。
从“诊断和解决问题”部分获取 .NET Profiler Trace。 在生成的报告中,CPU 使用率排名前 4 的线程各占 15%。 它们中的每一个似乎都与垃圾收集器有关,但我不知道如何进一步调试它。 我会很感激任何线索。
如果不查看相关应用程序的代码,就很难回答这个问题,但我建议您仔细查看以下内容以查找原因
希望这些能指出根本原因,祝你好运!
您可以使用“主动 CPU 监控”。当 CPU 超过 90% 持续 30 秒时,它会收集转储(这些阈值都是可配置的); https://azure.github.io/AppService/2019/10/07/Mitigate-your-CPU-problems-before-they-even-happen.html