Azure VM 上的 IIS CPU 使用率高,入站流量低

Azure VM 上的 IIS CPU 使用率高,入站流量低

我在 Azure VM 上运行的 IIS 服务器偶尔会出现 CPU 使用率过高的情况。这种情况只发生在周四、周五或周六上午 11 点至下午 2 点之间。CPU 使用率为 100%,无法在 VM 上执行任何操作。我只能强制关机。即使强制关机也需要 15 分钟以上才能在该状态下停止 VM。我无法重现该问题。

我在 Windows 2022 DataCenter 上的 IIS 10 上有超过 300 个应用程序。入站调用非常少。每秒最多收到 20-30 个请求。我的 RAM 绰绰有余。每日使用量不超过 RAM 的 60%。每日 CPU 使用率不超过 30%。请注意,在同一个虚拟机上,我也有 MSSQL 服务器。当 CPU 使用率高时,我可以清楚地看到是 IIS 故障。每当我停止它时,一切都正常运行。我曾有过重新启动虚拟机一两次,出于某种原因,一切都恢复正常的情况。我观察到,在 CPU 使用率高的那一天,即使只有 2-3 个客户端正在使用服务器,我也会看到通过 RDP 在虚拟机中移动鼠标或移动窗口很慢。在正常的日子里,它运行得相当快。也许这是与网络有关的某种提示?

到目前为止我尝试修复的问题:

  1. 优化代码 - 使用分析工具我没有发现任何内存泄漏或缺陷
  2. 禁用防火墙和防病毒软件 - 没什么作用
  3. 购买更多 RAM 和 CPU - 仍然无济于事
  4. 通过重命名我想要阻止的其他 IIS 应用程序的文件夹将 IIS 应用程序限制为仅 3 个应用程序,以便我的客户端不会访问应用程序 - 它以某种方式帮助 CPU 使用率降低约 30-40%,但我通过 RDP 访问的虚拟机仍然运行缓慢。我说的慢是指移动鼠标滞后和移动窗口很慢。
  5. 通过 Azure app insights 和 new relic 跟踪高 CPU 使用率 - 没有帮助,它们都显示没有高 CPU 使用率。尽管他们跟踪到故障期间有停机时间。
  6. 向 Azure 支持寻求帮助 - 他们已经运行了诊断程序,并且根据他们的说明,一切正常,没有发现任何问题
  7. 购买更好更快的磁盘 - 没有帮助

我还能做些什么来追踪 CPU 使用率过高的实际问题?

相关内容