WAN上的RabbitMQ高延迟

WAN上的RabbitMQ高延迟,rabbitmq,settings,latency,Rabbitmq,Settings,Latency,我们使用RabbitMQ在应用程序之间传输消息。当它们位于单个局域网内时,传输速度非常快。不幸的是,当应用程序位于不同的机器上,通过WAN(在VPN中)连接时,会有很大的延迟。 是否可以通过在RabbitMQ服务器或客户端中设置选项(例如,缓冲区大小)来减少它?有人在这个领域有经验吗 我们使用一个连接和多个通道,队列是持久的,消息是持久的。我们将预取计数设置为50。每个队列只有一个使用者。我们想知道Windows防火墙是否具有某些意义 编辑:我们正在Erlang R15B01上运行RabbitM

我们使用RabbitMQ在应用程序之间传输消息。当它们位于单个局域网内时,传输速度非常快。不幸的是,当应用程序位于不同的机器上,通过WAN(在VPN中)连接时,会有很大的延迟。 是否可以通过在RabbitMQ服务器或客户端中设置选项(例如,缓冲区大小)来减少它?有人在这个领域有经验吗

我们使用一个连接和多个通道,队列是持久的,消息是持久的。我们将预取计数设置为50。每个队列只有一个使用者。我们想知道Windows防火墙是否具有某些意义

编辑:我们正在Erlang R15B01上运行RabbitMQ 2.8.4 在客户方面:

> RabbitMQ version 3.4.0.0 platform .NET copyright Copyright (C)
> 2007-2014 GoPivotal, Inc. information Licensed under the MPL. See
> http://www.rabbitmq.com/ capabilities publisher_confirms: true
> exchange_exchange_bindings: true basic.nack: true
> consumer_cancel_notify: true connection.blocked: true
> authentication_failure_close: true
交付:4.8/s确认4.8/s我们没有进行大的转移

此外,我们正在通过 RabbitMQ的策略是:1。NET应用程序具有持久队列 正在等待来自PHP2的请求。当PHP发出请求时,它会发出 也是一个非持久的uniqe队列,用于侦听来自服务器的响应

此策略生成了大量uniq队列,用于向 PHP应用程序,在连接消息后被删除

无论如何,这在同一台机器上运行得非常快,在WAN上运行得非常慢


你检查过网络利用率了吗?如果已满,可以考虑压缩和聚合消息。您的速率是多少?网络带宽、延迟、利用率和质量是多少?@NicolasLabrot:延迟是58毫秒(第二台机器ping),队列仍在运行时,平均网络利用率是2,6%