Azure网站在一天中的任意时间间隔CPU处于高水平

Azure网站在一天中的任意时间间隔CPU处于高水平,azure,azure-sql-database,azure-web-app-service,Azure,Azure Sql Database,Azure Web App Service,我有一个Azure网站运行了6个月,2016年4月1日星期五晚上09:50时,CPU非常高,这对网站的性能产生了影响。停止并重新启动web服务解决了问题,但它在下午13:00返回。从那时起,CPU一直很高,使网站无法使用 我已经尝试了所有监控工具,DAA,事件日志,检查了打开的连接,并确保我的软件正在正确关闭或处理对象 但是CPU仍然很高。唯一的解决方法是重新启动web服务,但我不想继续这样做 有没有其他人遇到过类似的问题?解决方案是什么 从事件日志中可以看出问题的唯一原因是奇怪的“在建立到SQ

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

我已经尝试了所有监控工具,DAA,事件日志,检查了打开的连接,并确保我的软件正在正确关闭或处理对象

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

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

从事件日志中可以看出问题的唯一原因是奇怪的“在建立到SQL Server的连接时发生了与网络相关或特定于实例的错误”,这可能是因为SQL Aure不可用


请帮助

Hmmm,高cpu意味着您的网站正在执行代码,可能是在一些不常见的代码路径上出现了错误的循环

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

另一种方法是在高cpu期间附加Visual Studio调试器,并检查正在执行的内容

另一种方法是从kudu现场获取垃圾场或小型垃圾场,并使用WinDbg进行分析: 1) 使用cpu的线程是什么: !逃亡的 2) 此线程正在执行什么操作: !clrstack

嗯,,
Aldo

嗯,高cpu意味着您的网站正在执行代码,可能是在一些不频繁的代码路径上出现了错误的循环

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

另一种方法是在高cpu期间附加Visual Studio调试器,并检查正在执行的内容

另一种方法是从kudu现场获取垃圾场或小型垃圾场,并使用WinDbg进行分析: 1) 使用cpu的线程是什么: !逃亡的 2) 此线程正在执行什么操作: !clrstack

嗯,,
Aldo

与sql db对话的代码段是否容错?你用过重试逻辑吗?如果使用重试逻辑连接到数据库时出现错误,可以让您尝试几次,看看是否有效。或者最后写一个错误日志并继续。正在运行哪个进程?您是否在服务器上运行作业。有长时间运行的请求吗?嗨,Aravind,我们没有DB容错。如果我们成功地处理了联合国数据库连接,您是否会觉得这会防止CPU过高?Hi Peter,我们只有一个进程在早上8点运行,运行大约需要30秒。它已经运行了6个月了。所以我认为这与这份工作无关。现在我们有一个HTTP错误503:服务不可用。我必须重新启动Azure Web服务!!!与sql db对话的代码段是否容错?你用过重试逻辑吗?如果使用重试逻辑连接到数据库时出现错误,可以让您尝试几次,看看是否有效。或者最后写一个错误日志并继续。正在运行哪个进程?您是否在服务器上运行作业。有长时间运行的请求吗?嗨,Aravind,我们没有DB容错。如果我们成功地处理了联合国数据库连接,您是否会觉得这会防止CPU过高?Hi Peter,我们只有一个进程在早上8点运行,运行大约需要30秒。它已经运行了6个月了。所以我认为这与这份工作无关。现在我们有一个HTTP错误503:服务不可用。我必须重新启动Azure Web服务!!!