Azure Service Bus速度

时间:2012-10-12 09:00:19

标签: azure servicebus azureservicebus

当我尝试从简单的控制台应用程序(不是在调试模式下)向我的Azure Service Bus队列发送1000条简单消息时,使用http模式需要90秒。

使用标准的nettcp模式需要70秒。

其他人的速度也是吗?我预计它会更快,但也许这是正确的?

2 个答案:

答案 0 :(得分:6)

你是否在同一个帖子中做了所有这些?尝试使用多个线程/任务确实并行提交消息。此外,如果您想要更高的吞吐量,可以尝试对app.config进行一些更改:

  <system.net>
    <settings>
      <servicePointManager expect100Continue="false" useNagleAlgorithm="false"/>
    </settings>
    <connectionManagement>
      <add address = "*" maxconnection = "48" />
    </connectionManagement>
  </system.net>

最后,尝试从Windows Azure VM(最好是同一数据中心)内执行控制台应用程序。这将排除WAN连接的任何影响。

答案 1 :(得分:1)

另请参阅利用批量发送方法。 Azure SDK在Service Bus Client Queue上有一个方法,允许您一次发送一批消息。它以较大的呼叫为代价减少了总网络开销。您可以将批处理大小调整为适合您的最大值,并将消息排队,直到您填满批处理或达到某个超时。这允许您批量但仍然在合理的时间内响应。