Performance
Load tests, published
We push the IoT pipeline with steady streams of device messages and publish what we measure: messages per second, latency from arrival to storage, and messages lost. Every number below says where and how it was measured.
messages per second held for 14 minutes
1,111
messages lost in every run so far
0
p99 from arrival to storage at 111 msg/s
50 ms
test server, 7 GB memory
4 vCPU
Results
Scenario results
Each scenario sends device messages at a fixed rate through the MQTT gateway, the rules and flows workers and into telemetry storage.
| Scenario | Rate | Duration | Messages lost | Latency (p99) | Status |
|---|---|---|---|---|---|
| A | 111 msg/s | 16 min steady | 0 | start 23 ms, stored 50 ms | Passed all 9 gates |
| B | 1,111 msg/s | 14 min steady | 0 | backlog stayed near 45 messages | Paused by us, rerun planned |
| D | 5,555 msg/s | — | — | — | Next |
How we test
What a run checks
A run passes only if every gate holds for the whole steady phase.
Steady rate
Messages arrive at a fixed rate from many simulated devices, after a warm-up, for at least ten minutes.
No message lost
Every message sent is counted again in storage. One missing message fails the run.
Latency gates
Time from arrival to the start of processing and to storage, at the 99th percentile.
Backlog
The queue between gateway and workers must stay flat. A growing backlog fails the run.
Resources
CPU and memory of every process are sampled during the run, so slow leaks show up.
Security stays on
Tests run with tenant separation, device authentication and rate limits switched on, as in production.
Setup
Where the numbers come from
Scenarios A and B ran on a 4 vCPU, 7 GB virtual server that also ran the load generator, so the platform had less than the whole machine. Production deployments use larger servers and run workers as separate processes.
In a separate local measurement, one tenant sustained about 10,000 messages per second, and a backlog of 302,000 messages was cleared in about 60 seconds while new messages kept arriving.
Security is never switched off to make a number look better: row-level tenant separation stays on for raw telemetry, and devices authenticate on every connection.
We add each new report to this page with its date, setup and raw figures.
Sizing a large rollout?
Tell us your device count and message rate. We size the deployment with you and can run a load test on your own setup.

