Azure网站CPU高当天的随机间隔

我有一个运行6个月的Azure网站,2016年4月1日星期五晚上9点50分,CPU非常高,这对网站的性能产生了影响 . 停止并重新启动Web服务解决了问题,但它在下午13:00返回 . 从那时起,CPU一直处于高位并使网站无法使用

我已经尝试了所有监控工具,Daas,事件日志,检查了Open Connections并确保我的软件正在关闭或正确处理对象 .

但CPU仍然很高 . 解决的唯一方法是重新启动Web服务,但我不想继续这样做 .

有没有其他人遇到类似的问题,解决方案是什么 .

事件日志中唯一看起来有问题的是奇怪的“ Build 与SQL Server的连接时出现与网络相关或特定于实例的错误”,这可能是因为SQL Aure不可用 .

请帮忙

回答(1)

2 years ago

嗯,高cpu意味着你的网站正在执行代码,可能是一些不常用的代码路径上的错误循环 .

用于识别正在执行的代码的强力方法是通过System.Diagnostics.Trace.WriteLine(“我在这里”)向您的解决方案添加跟踪,然后检查Azure应用程序日志 .

另一种方法是在高CPU期间附加Visual Studio Debugger并检查正在执行的内容

另一种方法是从kudu站点获取转储或minidump并使用WinDbg进行分析:1)什么线程正在使用cpu:!runaway 2)这个线程在做什么:!clrstack

赫尔德,奥尔多