主机系统Azure-工作者角色无法访问角色

时间:2013-07-17 08:48:40

标签: azure azure-worker-roles

我正在使用Worker Role机器(Medium - > 2 Core和3,5 GB Ram)进行大量工作,我可以使用100%的CPU(两个核心)和85 RAM的百分比。

在这项工作中,每个人花费大约20分钟/ 40分钟,Azure认为机器不健康并停止我的所有工作。 在Portal中,我看到我的worker实例收到消息“等待状态(主机系统无法访问角色)。

任何人都可以知道一项不包括的工作: 1)使用更强大的完整角色与我不会使用的核心 2)尝试通过我的应用程序减少CPU使用率(100%CPU使用率是我们想要使用的)

提前致谢 锐

2 个答案:

答案 0 :(得分:0)

试试这个:

Thread.CurrentThread.Priority = ThreadPriority.BelowNormal

也许其他一些事情(进程,线程)也需要较低的优先级,但这应该使cpu利用率保持在100%

对于(外部)进程,

使用以下代码启动它们(这是vb,但您应该能够将其转换为您的语言

Dim myprocess As New System.Diagnostics.Process() 
myprocess.StartInfo.FileName = "C:\the\path\to\the\the\process.exe" 
myprocess.Start() 
myprocess.PriorityClass = ProcessPriorityClass.BelowNormal

您可以设置当前工作人员角色的优先级,但这可能取决于其他流程,因此请注意,最好将要求流程的优先级设置得更低,这不会除非有其他工作需要进行描述,否则请放慢速度

Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.AboveNormal

答案 1 :(得分:0)

这也影响了我在Windows Azure中运行的服务。 我刚尝试手动将WaAppAgent的优先级设置为高。希望这会有所帮助。

但实际上这不应该是我的问题。有时我的数据库以100%的CPU运行,实际上这是重启的最短时间。

我真的不想过度配置资源,所以一些心跳会很高兴。 VM实例也有心跳事件吗?也许解决方案是切换到使用VM而不是使用PaaS角色?