Heavy Channels
The results vary greatly and in this scenario the small configurations are 1/3rd to 1/2 the power of the medium and large. The largest jump is from small to medium but, keep in mind that throughput isn't everything and the large may often be necessary if you are running hundreds of channels and need the increased multithreaded CPU power and RAM. Multi-node setups using Advanced Clustering also yield the benefit of high availability since the cluster nodes would exist in separate AWS Availability Zones (AZ) and, in a case where one AZ goes down, would continue processing messages.
ECS Fargate
Small | Medium | Large | |
---|---|---|---|
Container CPU | 2048 | 2048 | 4096 |
Container RAM | 4GB | 8GB | 16GB |
Count | 1 | 2 | 2 |
RDS Instance Type | db.t3.medium2vCPU/4GB | db.m5.large2vCPU/8GB | db.m5.xlarge4vCPU/16GB |
Messages per Second | 6.37 | 12.23 | 29.97 |
EC2
Small | Medium | Large | |
---|---|---|---|
Instance Type | t3.medium2vCPU/4GB | m5.large2vCPU/8GB | m5.xlarge4vCPU/16GB |
RAM | 4GB | 8GB | 16GB |
Network Bandwidth | Up to 10 Gbps | Up to 10 Gbps | Up to 10 Gbps |
Count | 1 | 2 | 2 |
RDS Instance Type | db.t3.medium 2vCPU/4GB | db.m5.large 2vCPU/8GB | db.m5.xlarge 4vCPU/16GB |
Messages per Second | 7.81 | 14.31 | 13.33 |