Directrices de dimensionamiento de Amazon MQ para RabbitMQ - Amazon MQ

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Directrices de dimensionamiento de Amazon MQ para RabbitMQ

Puede elegir el tipo de instancia del agente que mejor se adapte a su aplicación. Al elegir un tipo de instancia, es importante tener en cuenta los factores que afectarán al rendimiento del agente:

  • el número de clientes y colas

  • el volumen de mensajes enviados

  • mensajes guardados en la memoria

  • mensajes redundantes

Se recomienda usar los tipos de instancias de agente más pequeños (m7g.medium) para probar el rendimiento de las aplicaciones. Asimismo, se aconsejan los tipos de instancias de agente más grandes (m7g.large o superiores) para los niveles de producción de clientes y colas, rendimientos altos, los mensajes en memoria y los mensajes redundantes.

Es importante poner a prueba a sus agentes para determinar el tipo y el tamaño de instancia adecuados para sus requisitos de mensajería de carga de trabajo. Utilice las siguientes directrices de dimensionamiento para determinar el tipo de instancia más adecuado para su aplicación.

Pautas de tamaño para m7g con colas de quórum para el despliegue en una sola instancia

La siguiente tabla indica los valores de límite máximos para cada tipo de instancia de los agentes de una única instancia.

Tipo de instancia Connections Canales Consumidores por canal Colas Vhosts Palas
mq.m7g.medium 100 500 1 000 2.500 10 150
mq.m7g.large 5 000 15.000 1 000 20 000 1500 250
mq.m7g.xlarge 10 000 30.000 1 000 30.000 1500 500
mq.m7g.2xlarge 20 000 60 000 1 000 40 000 1500 1 000
mq.m7g.4xlarge 40 000 120 000 1 000 60 000 1500 2,000
mq.m7g.8xlarge 80 000 240.000 1 000 80 000 1500 4.000
mq.m7g.12xlarge 120 000 360,000 1 000 100 000 1500 6000
mq.m7g.16xlarge 160 000 480.000 1 000 120 000 1500 8000

Pautas de tamaño para m7g con colas de quórum para el despliegue de clústeres

La siguiente tabla indica los valores de límite máximos para cada tipo de instancia de los agentes de clúster.

Tipo de instancia Connections Canales Consumidores por canal Colas Vhosts Palas
mq.m7g.medium 100 500 1 000 100 10 50
mq.m7g.large 5 000 15.000 1 000 10 000 1500 150
mq.m7g.xlarge 10 000 30.000 1 000 15.000 1500 300
mq.m7g.2xlarge 20 000 60 000 1 000 20 000 1500 600
mq.m7g.4xlarge 40 000 120 000 1 000 30.000 1500 1.200
mq.m7g.8xlarge 80 000 240.000 1 000 40 000 1500 2400
mq.m7g.12xlarge 120 000 360,000 1 000 50 000 1500 3600
mq.m7g.16xlarge 160 000 480.000 1 000 60 000 1500 4.800

La siguiente tabla indica los valores de límite máximos para cada tipo de instancia de los agentes de una única instancia.

Tipo de instancia Connections Canales Consumidores por canal Colas Vhosts Palas
m5.large 5 000 15.000 30.000 1 000 1500 250
m5.xlarge 10 000 30.000 60 000 1 000 1500 500
m5.2xlarge 20 000 60 000 120 000 1 000 1500 1 000
m5.4xlarge 40 000 120 000 240.000 1500 1 000 2,000

La siguiente tabla indica los valores de límite máximos para cada tipo de instancia de los agentes de clúster.

Tipo de instancia Colas Consumidores por canal Palas
m5.large 10 000 1 000 150
m5.xlarge 15.000 1 000 300
m5.2xlarge 20 000 1 000 600
m5.4xlarge 30.000 1 000 1200

Se aplican los siguientes límites de conexión y canal por nodo:

Tipo de instancia Connections Canales
m5.large 5000 15.000
m5.xlarge 10 000 30.000
m5.2xlarge 20 000 60 000
m5.4xlarge 40 000 120 000

Los valores límite exactos para un agente de clústeres pueden ser inferiores al valor indicado en función del número de nodos disponibles y de la forma en que RabbitMQ distribuye los recursos entre los nodos disponibles. Si supera los valores límite, puede crear una nueva conexión a un nodo diferente e intentarlo de nuevo, o bien puede actualizar el tamaño de la instancia para aumentar los límites máximos

Mensajes de error

Cuando se superan los límites, se devuelven los siguientes mensajes de error. Todos los valores se basan en los límites m7.large de una sola instancia.

nota

Los códigos de error de los siguientes mensajes pueden cambiar en función de la biblioteca cliente que utilice.

Conexión

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

Canal

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)"

Consumidor

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

nota

Los siguientes mensajes de error utilizan el formato de la API de administración HTTP.

Cola

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

Pala

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

Vhost

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