2011-07-01 17 views
0

我讀過有關frame_max爲RabbitMQ的,故稱frame_max是「一幀(以字節爲單位)的最大允許大小與客戶洽談。設置爲0意味着‘無限’,但會引發錯誤在一些QPid客戶端中,設置更大的值可能會提高吞吐量;設置更小的值可能會提高延遲。「在RabbitMQ的使用frame_max的

爲什麼默認值是128 KB。我認爲在生產環境中,沒有一個人想要高延遲的情況,那麼爲什麼默認值設置得太低。它可以默認設置爲非常高,因此可以始終具有高吞吐量。默認情況下有高價值會有什麼傷害?此外,超出了什麼價值frame_max的行爲就好像它是零,即無限,這可能會觸發QPid客戶端中的錯誤....

回答

0

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

二,frame_max設置塊的大小,一個複用單元。它用於避免單個通道可能使整個連接飽和的情況。如果您在不同的AMQP頻道上發佈很少的大消息,它們將被複用。在同一時間更小的消息將能夠通過。

實際上,使用多個連接可以獲得更好的併發性,但這是一個不同的故事。

+0

我無法理解消息是如何通過幀傳遞的。 Ⅰ)認爲,僅1幀獲分配給每個消息(消息大小

+1

「生產者的生產量將大量減少」 - 定義「重要數量」。如果您看一下AMQP 0-9-1規格,最好是明確定義AMQP框架的工作方式。 – Marek