Amazon MQ for ActiveMQ Throughput benchmarks
Benchmarking can help you choose the correct instance type and size for your workload messaging requirements. Scenarios for benchmarking include:
-
Cluster Stability: understanding how stable your cluster is during increasing, fluctuating, and stable load types.
-
Defining performance limits: approximating the maximum performance and throughput capabilities (i.e. cluster limits) of your cluster to help better scale your broker nodes when the number of messages published to your broker increases.
-
Optimal architecture and parameters: determining the most suitable architecture/parameters for your clusters, such as the number of destinations, persistent mode, message size, etc.
Amazon MQ provides benchmarking figures for the different instance types and sizes available for Amazon MQ for ActiveMQ.
Amazon MQ uses the ActiveMQ Maven 2
Performance Test
Note
When run in your own environment, results may differ by 3-6%.
The following tables provide performance and throughput benchmarks for Amazon MQ supported instance types to help you choose the correct instance sizes for your messaging workload.
mq.m4.large
Configuration options:
Broker Instance -
mq.m4.largePersistent -
TRUEClient -
m5.xlargeCSAD -
TRUEProtocol - Openwire
| Producers/Consumers | ||||
|---|---|---|---|---|
| Message size | Metrics | 25 | 50 | 100 |
| 1KB | TPS | 1849 | 3335 | 4665 |
| CPU% | 29% | 37% | 47% | |
| 5KB | TPS | 1672 | 2561 | 2970 |
| CPU% | 33% | 47% | 76% | |
| 10KB | TPS | 1586 | 1670 | 2268 |
| CPU% | 44% | 87% | 89% | |
mq.m5.large
Configuration options:
Broker Instance -
mq.m5.largePersistent -
TRUEClient -
m5.xlargeCSAD -
TRUEProtocol - Openwire
| Producers/Consumers | ||||
|---|---|---|---|---|
| Message size | Metrics | 25 | 50 | 100 |
| 1KB | TPS | 2247 | 4041 | 7566 |
| CPU% | 26% | 32% | 48% | |
| 5KB | TPS | 1636 | 3205 | 4443 |
| CPU% | 37% | 63% | 58% | |
| 10KB | TPS | 1668 | 3104 | 3227 |
| CPU% | 40% | 53% | 86% | |
mq.m5.xlarge
Configuration options:
Broker Instance -
mq.m5.xlargePersistent -
TRUEClient -
m5.xlargeCSAD -
TRUEProtocol - Openwire
| Producers/Consumers | ||||
|---|---|---|---|---|
| Message size | Metrics | 25 | 50 | 100 |
| 1KB | TPS | 2255 | 3932 | 7453 |
| CPU% | 28% | 32% | 54% | |
| 5KB | TPS | 1766 | 3495 | 6215 |
| CPU% | 29% | 51% | 82% | |
| 10KB | TPS | 1641 | 3240 | 5613 |
| CPU% | 36% | 61% | 89% | |
mq.m5.2xlarge
Configuration options:
Broker Instance -
mq.m5.2xlargePersistent -
TRUEClient -
m5.xlargeCSAD -
TRUEProtocol - Openwire
| Producers/Consumers | ||||
|---|---|---|---|---|
| Message size | Metrics | 25 | 50 | 100 |
| 1KB | TPS | 2025 | 4089 | 8093 |
| CPU% | 12% | 18% | 35% | |
| 5KB | TPS | 1865 | 3736 | 6845 |
| CPU% | 15% | 27% | 54% | |
| 10KB | TPS | 1747 | 3511 | 7057 |
| CPU% | 18% | 36% | 67% | |
mq.m5.4xlarge
Configuration options:
Broker Instance -
mq.m5.4xlargePersistent -
TRUEClient -
m5.xlargeCSAD -
TRUEProtocol - Openwire
| Producers/Consumers | ||||
|---|---|---|---|---|
| Message size | Metrics | 25 | 50 | 100 |
| 1KB | TPS | 2094 | 4055 | 8153 |
| CPU% | 6% | 9% | 17% | |
| 5KB | TPS | 1742 | 3586 | 7158 |
| CPU% | 7% | 13% | 25% | |
| 10KB | TPS | 1733 | 3288 | 6671 |
| CPU% | 9% | 16% | 31% | |