Skip to content
On this page

Benchmark (0.0.2)

Synthetic publish throughput benchmarks using cometmq-bench against a local single-node broker.

Environment

  • Broker: cometmq-broker 0.0.2 (release build)
  • Tool: cometmq-bench (publisher mode)
  • Concurrency: 10 workers
  • Payload pattern: zeros
  • Compression: lz4 (threshold 1024 bytes)
  • Publisher confirms: disabled unless stated
  • Persistence: as noted per test

Throughput (Non-Persistent, No Confirms)

Payload (bytes)Msg/sApprox MB/s*
6499,9026.37
128102,59312.57
51269,48135.96
1,02426,22225.79
16,38424,601384.05
131,0723,120392.93
1,048,5763,0153,014.97
8,388,6081,33211,162.88

Throughput (Persistent, No Confirms)

Payload (bytes)Msg/sApprox MB/s*
6468,9004.41
12866,6158.17
51247,34924.48
1,02426,44526.03
16,38424,789386.98
131,0722,973374.60
1,048,5762,7142,713.60
8,388,6081,22810,301.44

Throughput (Persistent + Confirms)

Payload (bytes)Msg/sApprox MB/s*
6434,4702.21
12833,3374.09
51227,67814.33
1,02417,91017.63
16,38417,669275.67
131,0722,969374.10
1,048,5762,9302,929.69
8,388,6081,29910,896.38

*Approx MB/s = (Msg/s * PayloadBytes) / 1_000_000.

Summary (Msg/s)

Mode64B128B1KB16KB1MB
Non-persistent99,902102,59326,22224,6013,015
Persistent68,90066,61526,44524,7892,930
Persistent + confirms34,47033,33717,91017,6692,414

Notes

  • lz4 compression activates above 1024 bytes.
  • Numbers reflect loopback network (no external latency).
  • Persistence + confirms show expected throughput reduction due to fsync and acknowledgment round-trips.

Tool Invocation (Example)

bash
cometmq-bench pub \
  --count 50000 \
  --payload-bytes 128 \
  --concurrency 10 \
  --persistent false \
  --confirm false

Adjust parameters for different payload sizes and durability/confirm modes.

Released under the EULA License.