我知道我的问题不是很具体,也没有明确的答案,但是我需要帮助以弄清楚从哪里开始寻找。
因此,我们在门户网站Azure上工作,并拥有一个网络作业,该作业从队列中获取消息并进行处理;出于某些奇怪的原因,当我使用S1计划时(规格:1个内核,总共100个ACU-我认为它是某种天蓝色的单位:天蓝色的计算单位-1.75 GB内存,A系列计算)每条消息需要大约1分钟的处理时间,但是,当我升级S3计划(规格:4个内核,400个ACU,7 GB内存,A系列计算)时,每条消息需要3分钟...我会明白,每条消息是否会花费与之相同的时间是线性处理的,也许增加处理器对它可能并没有太大影响,但是如何使其变慢?
如果有任何建议可以帮助我调试此问题,我将不胜感激。
更多信息
该网络应用是Visual Studio MVC项目。
答案 0 :(得分:1)
如果增加等级,则处理消息所需的时间将大大缩短。因此,处理消息的逻辑可能有问题。请重温逻辑。
对于Web作业,您需要增加App Service的层数以进行扩展。随着App Service升级到更高的层,内存和CPU在App Service和Web Job之间共享。如果不扩展App Service,就无法扩展Web作业。
我的建议是将Web作业替换为Cloud Services(工人角色)。我有用于处理来自Queue的消息的Web作业,事实证明在进行扩展时效率低下,Azure不再建议使用Web Jobs。因此,我将其替换为工作人员角色。您也可以尝试使用Azure Functions处理消息。