在RabbitMQ中使用frame_max

时间:2011-07-01 18:36:36

标签: rabbitmq

我已经读过RabbitMQ的frame_max,它说frame_max是“与客户端协商的最大允许帧大小(以字节为单位)。设置为0意味着”无限制“但会在某些QPid客户端中触发错误。设置较大的值可以提高吞吐量;设置较小的值可以改善延迟。“

为什么默认值为128 KB。我认为在生产环境中,没有人想要具有高延迟的情况,那么为什么默认值设置得如此之低。它可以默认设置为非常高,因此总是可以具有高吞吐量。默认情况下有高价值是否有任何危害?此外,超出什么值,frame_max表现为好像是零,即无限制,这可以触发QPid客户端中的错误....

1 个答案:

答案 0 :(得分:0)

首先,您不需要更改此值。

其次,frame_max设置块的大小,多路复用的单位。它用于避免单个通道可以使整个连接饱和的情况。如果您在不同的AMQP频道上发布很少的大消息,它们将被多路复用。同时较小的消息将能够通过。

实际上,通过使用多个连接可以实现更好的并发性,但这是一个不同的故事。