我有一个Azure网站运行了6个月,2016年4月1日星期五晚上9点50分,CPU非常高,这对网站的性能产生了影响。停止并重新启动Web服务解决了问题,但它在下午13:00返回。从那以后,CPU一直处于高位并使网站无法使用
我已经尝试了所有监控工具,Daas,事件日志,检查了Open Connections并确保我的软件正在关闭或正确处理对象。
但CPU仍然很高。唯一的解决方法是重新启动Web服务,但我不想继续这样做。
是否有其他人遇到类似的问题以及解决方案是什么。
事件日志中唯一看起来有问题的是奇怪的"在建立与SQL Server的连接时出现与网络相关或特定于实例的错误#34;这可能是因为SQL Aure是不可用。
请帮忙
答案 0 :(得分:0)
嗯,高cpu意味着你的网站正在执行代码,可能是一些不常用的代码路径上的错误循环。
用于识别正在执行的代码的强力方法是通过System.Diagnostics.Trace.WriteLine(“我在这里”)向您的解决方案添加跟踪,然后检查Azure应用程序日志。
另一种方法是在高CPU期间附加Visual Studio Debugger并检查正在执行的内容
另一种方法是从kudu站点获取转储或小型转储并使用WinDbg进行分析: 1)什么线程正在使用cpu: !逃跑 2)这个主题是做什么的: !clrstack
HTH, 醛