在当前的项目中,我们目前使用了8台工作在一起的工作人员角色机器,这些机器的工作方式与azure可能期望的略有不同。
系统简介:
现在要问的问题是:当增加机器数量以将性能提高到1200次/秒时,我们就经历了云队列的中断。在同一时刻,80%的机器进程不再处理消息。
这里我们有两个问题:
重新启动工人确实有帮助,但很快就会导致同样的问题。我们是否达到了云队列的可伸缩性的自然极限,并且应该切换到服务总线?
更新
我还不能完全理解这个问题,我用云队列的自然边界描述了这个问题。
概括地说:
发布于 2016-01-22 09:22:13
根据我的经验,我能够从Azure云队列中获得比服务总线更好的原始性能,但是服务总线具有更好的企业特性(可靠、主题等)。Azure Cloud队列应处理每个队列最多2K/秒。
https://azure.microsoft.com/en-us/documentation/articles/storage-scalability-targets/
如果有一些自然的分区键,也可以尝试将分区划分到多个队列。
确保您的进程没有某种类型的线程死锁,这才是真正的罪魁祸首。当队列出现挂起并试图从队列中提取消息时,您可以通过连接到队列来测试这一点。如果这样做有效,这是您的进程,而不是队列。
还可以看看这个来设置一些其他监视器:https://azure.microsoft.com/en-us/documentation/articles/storage-monitor-storage-account/
发布于 2016-02-22 08:14:41
解决这个问题需要一些时间:
首先,概述存储帐户的使用情况:
当认识到存储帐户是在沉重的负荷下,我们把它分开。
这个系统现在运行了2周,工作起来很有魅力。我们从中学到了很多东西:
存储中的异常处理非常糟糕。即使存储帐户被过度使用,我也希望会有某种异常,而不仅仅是在没有任何周围信息的情况下返回零消息,在这里阅读完整的故事:云存储可伸缩性的自然边界。
更新:可伸缩性有很多影响。您可能对Azure服务总线:大量的听众和发送者感兴趣,以了解更多的陷阱。
https://stackoverflow.com/questions/34942856
复制相似问题