Amazon MQ for RabbitMQ 大小調整指南 - Amazon MQ

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon MQ for RabbitMQ 大小調整指南

您可以選擇最能支援應用程式的代理程式執行個體類型。選擇執行個體類型時,請務必考量會影響代理程式效能的因素:

  • 用戶端和佇列的數量

  • 傳送的訊息量

  • 訊息保留在記憶體中

  • 備援訊息

建議僅將較小的代理程式執行個體類型 (t3.micro) 用於測試應用程式效能。針對用戶端和佇列的生產層級、高輸送量、記憶體中的訊息和備援訊息,我們建議較大的代理程式執行個體類型 (m5.large 和更高版本)。

請務必測試您的代理程式,以判斷適合您工作負載訊息需求的執行個體類型和大小。使用以下大小調整指南來判斷適合您應用程式的最佳執行個體類型。

單一執行個體部署的大小調整指南

下表顯示單一執行個體代理程式每個執行個體類型的上限值。

執行個體類型 連線 頻道 佇列 每個頻道的取用者數 鏟子
t3.micro 500 1,500 2,500 1,000 150
m5.large 5,000 15,000 30,000 1,000 250
m5.xlarge 10,000 30,000 60,000 1,000 500
m5.2xlarge 20,000 60,000 120,000 1,000 1,000
m5.4xlarge 40,000 120,000 240,000 1,000 2,000

叢集部署的大小調整指南

下表顯示叢集代理程式每個執行個體類型的上限值。

執行個體類型 佇列 每個頻道的取用者數
m5.large 10,000 1,000
m5.xlarge 15,000 1,000
m5.2xlarge 20,000 1,000
m5.4xlarge 30,000 1,000

每個節點套用下列連線、頻道和鏟限制。

執行個體類型 連線 頻道 鏟子
m5.large 500 15,000 50
m5.xlarge 10,000 30,000 100
m5.2xlarge 20,000 60,000 200
m5.4xlarge 40,000 120,000 400

叢集代理程式的確切限制值可能低於指示值,具體取決於可用節點的數量,以及 RabbitMQ 如何在可用節點之間分發資源。如果您超過限制值,您可以建立新的節點連線,然後再試一次,也可以升級執行個體大小來增加上限

錯誤訊息

超過限制時,會傳回下列錯誤訊息。所有值都以m5.large單一執行個體限制為基礎。

注意

下列訊息的錯誤碼可能會根據您所使用的用戶端程式庫而變更。

Connection (連線)

ConnectionClosedByBroker 500 "NOT_ALLOWED - connection refused: node connection limit (500) is reached"

Channel

ConnectionClosedByBroker 1500 "NOT_ALLOWED - number of channels opened on node 'rabbit@ip-10-0-23-173.us-west-2.compute.internal' has reached the maximum allowed limit of (15,000)"

消費者

ConnectionClosedByBroker: (530, 'NOT_ALLOWED - reached maximum (1,000) of consumers per channel')

注意

下列錯誤訊息使用 HTTP 管理API格式。

佇列

{"error":"bad_request","reason":"cannot declare queue 'my_queue': queue limit in cluster (30,000) is reached"}]

鮑魚

{"error":"bad_request","reason":"Validation failed\n\ncomponent shovel is limited to 250 per node\n"}

Vhost

{"error":"bad_request","reason":"cannot create vhost 'my_vhost': vhost limit of 4,000 is reached"}