LavinMQ hits 600k msg/s on a Raspberry Pi 5
LavinMQ delivers strong performance on the Raspberry Pi 5, achieving high throughput with low overhead on a small, resource-limited system.
The initial 600k msg/s result
To break down that result, we ran a dedicated queue-throughput benchmark first. The goal was to measure how LavinMQ performs under sustained load on constrained hardware by publishing and consuming at the rate the system would allow.

lavinmqperf throughput --uri amqp://lavinmq-rpi5.local
Publish rate: 624089 msgs/s Consume rate: 601415 msgs/s
Publish rate: 600920 msgs/s Consume rate: 606995 msgs/s
Publish rate: 605445 msgs/s Consume rate: 609527 msgs/s
Publish rate: 606350 msgs/s Consume rate: 602971 msgs/s
Publish rate: 612685 msgs/s Consume rate: 610925 msgs/s
Publish rate: 610000 msgs/s Consume rate: 606282 msgs/s
Publish rate: 605181 msgs/s Consume rate: 606282 msgs/s
Publish rate: 601949 msgs/s Consume rate: 606282 msgs/s
Publish rate: 607255 msgs/s Consume rate: 606282 msgs/s
Summary:
Average publish rate: 608428.2 msgs/s
Average consume rate: 606476.8 msgs/s
Reaching this level of throughput on a low-power, inexpensive board highlights LavinMQ’s efficiency. Most real workloads don’t come close to needing this volume of messages, which means the Pi 5 still has plenty of headroom. In practice, it provides stable performance with consistently low publish-to-consume latency, all without relying on large or expensive hardware.
Stream performance on the Raspberry Pi 5
We then ran a test on stream-queues on the same Raspberry Pi 5. Publishing reached around 750k msg/s, while consumption peaked at 1.15 million msg/s — all stream data stored on the SD card serving as the Pi’s primary disk.
The stream contained 120 million messages (about 8 GiB of data), yet LavinMQ used only 60 MB of RAM while handling it. Despite the amount of data on disk, the broker still started in about half a second and loaded all stream data without delay.
Summary of Raspberry Pi 5 results for stream queues
- 750k msg/s publishing to a stream queue (SD card)
- 1.15M msg/s consuming from a stream queue
- 120 million messages stored (~8 GiB on disk)
- ~60 MB RAM used while handling the full stream
- ~0.5 seconds startup time with all stream data present
Continuing the exploration
This kind of speed, even on low-power hardware, shows just how efficient LavinMQ is. It opens up possibilities that were once only available through expensive, large cloud systems.
We’re continuing to explore how far the Raspberry Pi 5 and other hardware platforms can go with LavinMQ. More benchmarks are on the way!
If you’re experimenting too, we’d love to hear what you discover. Share your results with me — and if you push the limits in a fun or interesting way, I’ll happily send some LavinMQ merch.
Download LavinMQ and see what you can get out of your hardware.
Lovisa Johansson