Skip to content

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

  1. 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.
  2. 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.
  3. 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.
  4. Impact of blocking and noAck

    • 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 and noAck.

Detailed Results

AMQP Memory Utilization

BlockingnoAckProducerConsumer
5.28 MB492 kB
2.6 MB3.65 MB
7.65 MB10.8 MB
1.74 MB198 kB

BullMQ Memory Utilization

BlockingnoAckProducerConsumer
5.29 MB111 MB
4.67 MB104 MB
6.17 MB116 MB
6.20 MB119 MB

SQS Memory Utilization

BlockingnoAckProducerConsumer
28.6 MB109 kB
37.2 MB684 kB
46.1 MB3.61 MB
13.9 MB22.3 MB