【问题标题】:Azure Service Bus Queue Extremely SlowAzure 服务总线队列极慢
【发布时间】:2015-06-08 03:47:18
【问题描述】:

今晚我们发现排队时间非常缓慢。我们的跟踪数据告诉我们这条线

await queueClient.SendAsync(message);

需要 45-60 秒。这发生在两个已经存在很长时间的队列中。他们几乎没有超过 1-2 条记录,我们使用带有 ServiceBusTrigger 的网络作业来完成任务。我们将一个简单的 POCO 放入队列中。还有一个队列正在快速排队,所以由于没有任何其他想法,我删除了这两个很麻烦的。当代码重新创建它们时(按照它的构建目的),它们在不到一秒的时间内就开始排队。没有其他改变,期待旧队列的删除和旧队列的重新创建。我之前和之后都使用了服务总线资源管理器(我希望我已经截屏了),据我所知没有任何变化。

知道为什么会出现这样的放缓,或者为什么重新创建会清除它?我们做的东西很少,因为它只是一个试点系统。

谢谢!

戴夫

【问题讨论】:

  • 我们遇到了非常相似的问题。任何建议都会很有帮助。
  • +1 我们不久前也遇到过这个问题。重新排列队列后,一切都开始按预期工作。
  • 这里也是,半年过去了,还是性能极差。
  • 本周遇到了类似的问题。重新创建队列也为我修复了它。遗憾的是,这是我所知道的唯一解决方法,当您尝试处理数以万计的消息时,这并不总是可行的。

标签: azure servicebus


【解决方案1】:

当队列可能为空时,我们陷入了一个新手陷阱,即在 Receive 上设置了长时间超时。在收到之前,我们发现check the message count 的速度要快得多。

【讨论】:

    【解决方案2】:

    我们对队列进行了分区,然后删除了重复检测,事情变得更好了。微软承认存在锁定问题,他们正在研究解决方案。重复检测将您的队列限制为一个分区,因此仅此一项没有任何区别。他们告诉我,他们会在应用修复时提醒我们,我们将尝试再次打开重复检测。

    希望这会有所帮助! 戴夫

    【讨论】:

      【解决方案3】:

      我们最近也遇到了与 Servicebus 非常相似的问题。我们经历了 10-20 秒的减速,几周后问题突然消失了。我们与 Servicebus 团队有着密切的联系,他们只会说 Servicebus 是一个共享系统,SLA 只保证可用性而不是性能。

      这应该让任何考虑使用 Servicebus 的人大开眼界!

      【讨论】:

        猜你喜欢
        • 2017-02-25
        • 2015-07-18
        • 1970-01-01
        • 1970-01-01
        • 2020-12-17
        • 2018-04-01
        • 2013-08-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多