Kyo͞o Performance Benchmarks
Overview
This document summarizes the average memory utilization observed when using three different message‐queuing systems (AMQP, BullMQ, and SQS) under various configurations for blocking and noAck. Each test was run separately for Producer and Consumer roles.
- AMQP stands out for maintaining low memory usage in both producer and consumer modes.
- BullMQ has a low‐memory profile for producers but consistently high usage for consumers.
- SQS features relatively higher producer memory utilization, while its consumer usage is typically small—though it can spike in certain configurations.
Key Observations
AMQP is Consistently Lightweight
- AMQP’s producers typically range between ~2–8 MB of memory, while consumers are in the low‐MB or even sub‐MB range.
- Even at its highest (consumer at 10.8 MB), AMQP’s memory usage remains well below that of BullMQ and SQS in comparable scenarios.
BullMQ Consumers Show Significantly Higher Usage
- BullMQ producers stay in the single‐digit MB range (4–6 MB).
- BullMQ consumers, however, consistently jump above 100 MB. This suggests a more memory‐heavy consumer flow compared to other libraries.
SQS Producers Use Relatively More Memory Than Consumers
- SQS producers regularly consume tens of MB, peaking around 46 MB in one scenario.
- SQS consumers vary from extremely low memory usage (kB levels) up to ~22 MB, depending on the test configuration.
Impact of
blocking
andnoAck
- Although toggling these options does change memory usage somewhat, the fluctuations are smaller than the inherent differences among AMQP, BullMQ, and SQS themselves.
- In other words, library choice and whether you’re producing or consuming have a larger effect on memory usage than the specific combination of
blocking
andnoAck
.
Detailed Results
AMQP Memory Utilization
Blocking | noAck | Producer | Consumer |
---|---|---|---|
✅ | ❌ | 5.28 MB | 492 kB |
❌ | ❌ | 2.6 MB | 3.65 MB |
❌ | ✅ | 7.65 MB | 10.8 MB |
✅ | ✅ | 1.74 MB | 198 kB |
BullMQ Memory Utilization
Blocking | noAck | Producer | Consumer |
---|---|---|---|
✅ | ❌ | 5.29 MB | 111 MB |
❌ | ❌ | 4.67 MB | 104 MB |
❌ | ✅ | 6.17 MB | 116 MB |
✅ | ✅ | 6.20 MB | 119 MB |
SQS Memory Utilization
Blocking | noAck | Producer | Consumer |
---|---|---|---|
✅ | ❌ | 28.6 MB | 109 kB |
❌ | ❌ | 37.2 MB | 684 kB |
❌ | ✅ | 46.1 MB | 3.61 MB |
✅ | ✅ | 13.9 MB | 22.3 MB |