本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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"}