我有一个 Azure 网站运行了 6 个月,在 2016 年 4 月 1 日星期五晚上 09:50,CPU 非常高,这对网站的性能产生了影响。停止并重新启动 Web 服务解决了问题,但问题在下午 13:00 又恢复了。从那时起,CPU 一直居高不下,导致网站无法使用
我已尝试所有监控工具、Daas、事件日志,检查打开的连接并确保我的软件正确关闭或处置对象。
但是CPU仍然很高。唯一的解决方法是重新启动网络服务,但我不想继续这样做。
其他人是否遇到过类似的问题以及解决方案是什么。
事件日志中唯一看起来有问题的是奇怪的“建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误”,这可能是因为 SQL Aure 不可用。
请帮忙
最佳答案
嗯,高 cpu 意味着您的网站正在执行代码,可能是某些不频繁的代码路径上的错误循环。
识别正在执行的代码的强力方法是通过 System.Diagnostics.Trace.WriteLine("I am here") 将跟踪添加到您的解决方案,然后检查 Azure 应用程序日志。
另一种方法是在 CPU 较高时附加 Visual Studio 调试器并检查正在执行的内容
另一种方法是从 kudu 站点获取转储或小型转储并使用 WinDbg 对其进行分析: 1)什么线程正在消耗cpu: !逃跑 2)这个线程在做什么: !clrstack
hth, 奥尔多
关于Azure 网站 CPU 在一天中的随机时间间隔内处于高位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36421909/