Comparison: JetStream

Show jobs details
Job Source Filter Repetitions Go Worker Job Info
4ad96777-bc2f-4266-920f-2862a2aee7e2 main
https://github.com/nats-io/nats-server.git
(51fbade1ed5aa9cd026e6be57ad9b0c6272f6709)
BenchmarkJetStream(Publish|Consume).*/.*R=3.* 5 x 3s go version go1.26.0 linux/amd64
(/usr/local/go1.25.4/bin/go)
dev (?)
gauge-go-bench-away
Linux_6.18.5+deb14-amd64-x86_64
Submitted by at 2026-03-09 06:57:00 +0000 UTC
ce8fc4a7-91bc-4383-9ede-91084c26729c v2.12.4
https://github.com/nats-io/nats-server.git
(2429cd357a0837d7f936b5124e5ffb428b97ce79)
BenchmarkJetStream(Publish|Consume).*/.*R=3.* 5 x 3s go version go1.26.0 linux/amd64
(/usr/local/go1.25.4/bin/go)
dev (?)
gauge-go-bench-away
Linux_6.18.5+deb14-amd64-x86_64
Submitted by at 2026-02-24 18:32:20 +0000 UTC

Push Consumer throughput (msg/s)

Error bars represent 90% confidence interval, benchmarks filter: 'JetStreamConsume/.*/PUSH.*'

Show results table
main v2.12.4 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Sync,Ephemeral]-16 676k ± 51k 651k ± 69k -3.8%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ephemeral]-16 662k ± 3k 645k ± 3k -2.5%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ordered]-16 1.30M ± 0.07M 1.26M ± 0.10M Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Durable]-16 510k ± 26k 505k ± 33k Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Sync,Ephemeral]-16 504k ± 22k 493k ± 37k Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Async,Durable]-16 405k ± 31k 404k ± 33k Inconclusive

Push Consumer throughput (byte/s)

Error bars represent 90% confidence interval, benchmarks filter: 'JetStreamConsume/.*/PUSH.*'

Show results table
main v2.12.4 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Sync,Ephemeral]-16 6.77MB/s ± 0.51MB/s 6.51MB/s ± 0.69MB/s -3.7%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ephemeral]-16 6.62MB/s ± 0.03MB/s 6.46MB/s ± 0.02MB/s -2.4%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ordered]-16 13.0MB/s ± 0.7MB/s 12.6MB/s ± 1.0MB/s Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Durable]-16 5.10MB/s ± 0.26MB/s 5.05MB/s ± 0.33MB/s Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Sync,Ephemeral]-16 516MB/s ± 22MB/s 505MB/s ± 38MB/s Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Async,Durable]-16 414MB/s ± 32MB/s 413MB/s ± 34MB/s Inconclusive

Pull Consumer throughput (msg/s)

Error bars represent 90% confidence interval, benchmarks filter: 'JetStreamConsume/.*/PULL.*'

Show results table
main v2.12.4 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Durable]-16 261k ± 1k 255k ± 1k -2.3%
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Ephemeral]-16 371k ± 5k 384k ± 88k Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Durable]-16 225k ± 0k 221k ± 1k -2.1%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Ephemeral]-16 317k ± 2k 311k ± 3k -1.8%

Pull Consumer throughput (byte/s)

Error bars represent 90% confidence interval, benchmarks filter: 'JetStreamConsume/.*/PULL.*'

Show results table
main v2.12.4 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Durable]-16 2.61MB/s ± 0.00MB/s 2.55MB/s ± 0.01MB/s -2.2%
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Ephemeral]-16 3.72MB/s ± 0.05MB/s 3.84MB/s ± 0.88MB/s Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Durable]-16 231MB/s ± 0MB/s 226MB/s ± 1MB/s -2.1%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Ephemeral]-16 325MB/s ± 2MB/s 319MB/s ± 3MB/s -1.8%

Filtered Consumer throughput (op/s)

Error bars represent 90% confidence interval, benchmarks filter: 'JetStreamConsumeWithFilters/.*'

Show results table
main v2.12.4 Δ%
JetStreamConsumeWithFilters/N=3,R=3,storage=Memory/D=100,DS=10,F=5,C=12-16 4.57k ± 0.11k 3.82k ± 0.04k -18.1%
JetStreamConsumeWithFilters/N=3,R=3,storage=Memory/D=1000,DS=10,F=25,C=12-16 1.47k ± 0.00k 1.24k ± 0.01k -16.7%
JetStreamConsumeWithFilters/N=3,R=3,storage=Memory/D=10000,DS=10,F=50,C=12-16 171 ± 0 169 ± 1 -1.3%
JetStreamConsumeWithFilters/N=3,R=3,storage=File/D=100,DS=10,F=5,C=12-16 4.07k ± 0.00k 3.25k ± 0.04k -22.3%
JetStreamConsumeWithFilters/N=3,R=3,storage=File/D=1000,DS=10,F=25,C=12-16 629 ± 1 620 ± 1 -1.5%
JetStreamConsumeWithFilters/N=3,R=3,storage=File/D=10000,DS=10,F=50,C=12-16 157 ± 2 158 ± 2 Inconclusive

Contiguous Filtered Consumer throughput (op/s)

Error bars represent 90% confidence interval, benchmarks filter: 'JetStreamConsumeFilteredContiguous/.*'

Show results table
main v2.12.4 Δ%
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=Memory,SF-16 15.1k ± 0.1k 19.9k ± 3.1k +27.1%
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=Memory-16 15.1k ± 0.1k 15.2k ± 0.1k +0.5%
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=File,SF-16 15.1k ± 0.0k 18.2k ± 4.7k +18.9%
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=File-16 15.0k ± 0.0k 19.6k ± 3.1k +26.8%

Single client Publish throughput (msg/s)

Error bars represent 90% confidence interval, benchmarks filter: 'JetStreamPublish/.*'

Show results table
main v2.12.4 Δ%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Sync-16 14.5k ± 0.1k 14.9k ± 0.1k +2.2%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:1000]-16 347k ± 1k 351k ± 4k +1.1%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:4000]-16 341k ± 3k 346k ± 4k +1.7%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:8000]-16 353k ± 5k 359k ± 2k +1.7%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Sync-16 13.9k ± 0.1k 14.0k ± 0.1k +0.8%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:1000]-16 240k ± 1k 242k ± 1k +0.8%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:4000]-16 235k ± 1k 239k ± 1k +1.6%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:8000]-16 239k ± 1k 242k ± 2k +1.2%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Sync-16 14.7k ± 0.1k 14.9k ± 0.1k +1.1%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:1000]-16 350k ± 5k 355k ± 2k +1.5%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:4000]-16 340k ± 3k 346k ± 3k +1.9%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:8000]-16 353k ± 4k 361k ± 2k +2.2%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Sync-16 13.9k ± 0.1k 14.1k ± 0.1k +1.8%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:1000]-16 240k ± 1k 244k ± 3k +1.7%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:4000]-16 235k ± 1k 239k ± 1k +1.8%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:8000]-16 240k ± 1k 242k ± 1k +0.8%

Single client Publish throughput (byte/s)

Error bars represent 90% confidence interval, benchmarks filter: 'JetStreamPublish/.*'

Show results table
main v2.12.4 Δ%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Sync-16 146kB/s ± 4kB/s 150kB/s ± 0kB/s +2.7%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:1000]-16 3.48MB/s ± 0.00MB/s 3.51MB/s ± 0.04MB/s +1.0%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:4000]-16 3.41MB/s ± 0.03MB/s 3.46MB/s ± 0.04MB/s +1.7%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:8000]-16 3.53MB/s ± 0.05MB/s 3.59MB/s ± 0.01MB/s +1.6%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Sync-16 14.2MB/s ± 0.1MB/s 14.4MB/s ± 0.1MB/s +0.8%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:1000]-16 246MB/s ± 1MB/s 248MB/s ± 1MB/s +0.8%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:4000]-16 240MB/s ± 1MB/s 244MB/s ± 1MB/s +1.7%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:8000]-16 245MB/s ± 1MB/s 248MB/s ± 2MB/s +1.2%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Sync-16 150kB/s ± 0kB/s 150kB/s ± 0kB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:1000]-16 3.50MB/s ± 0.05MB/s 3.55MB/s ± 0.02MB/s +1.4%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:4000]-16 3.40MB/s ± 0.02MB/s 3.46MB/s ± 0.02MB/s +1.9%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:8000]-16 3.53MB/s ± 0.04MB/s 3.61MB/s ± 0.01MB/s +2.1%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Sync-16 14.2MB/s ± 0.1MB/s 14.5MB/s ± 0.0MB/s +1.9%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:1000]-16 246MB/s ± 1MB/s 250MB/s ± 4MB/s +1.8%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:4000]-16 240MB/s ± 1MB/s 245MB/s ± 1MB/s +1.8%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:8000]-16 246MB/s ± 1MB/s 248MB/s ± 1MB/s +0.8%

Concurrent Publish throughput (msg/s)

Error bars represent 90% confidence interval, benchmarks filter: 'JetStreamPublishConcurrent/.*'

Show results table
main v2.12.4 Δ%
JetStreamPublishConcurrent/N=3,R=3/msgSz=10b/pubs=12-16 93.1k ± 0.1k 94.5k ± 0.2k +1.4%
JetStreamPublishConcurrent/N=3,R=3/msgSz=1024b/pubs=12-16 80.0k ± 0.4k 81.3k ± 0.1k +1.5%
JetStreamPublishConcurrent/N=3,R=3/msgSz=102400b/pubs=12-16 5.34k ± 0.01k 5.36k ± 0.01k +0.2%
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=10b/pubs=12-16 92.9k ± 0.3k 94.4k ± 0.1k +1.6%
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=1024b/pubs=12-16 80.2k ± 0.3k 81.0k ± 0.4k +1.0%
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=102400b/pubs=12-16 5.35k ± 0.01k 5.36k ± 0.02k +0.3%

Concurrent Publish throughput (byte/s)

Error bars represent 90% confidence interval, benchmarks filter: 'JetStreamPublishConcurrent/.*'

Show results table
main v2.12.4 Δ%
JetStreamPublishConcurrent/N=3,R=3/msgSz=10b/pubs=12-16 930kB/s ± 0kB/s 940kB/s ± 0kB/s +1.1%
JetStreamPublishConcurrent/N=3,R=3/msgSz=1024b/pubs=12-16 81.9MB/s ± 0.4MB/s 83.2MB/s ± 0.1MB/s +1.6%
JetStreamPublishConcurrent/N=3,R=3/msgSz=102400b/pubs=12-16 547MB/s ± 1MB/s 548MB/s ± 1MB/s +0.2%
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=10b/pubs=12-16 930kB/s ± 0kB/s 940kB/s ± 0kB/s +1.1%
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=1024b/pubs=12-16 82.1MB/s ± 0.3MB/s 83.0MB/s ± 0.4MB/s +1.0%
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=102400b/pubs=12-16 547MB/s ± 1MB/s 549MB/s ± 2MB/s +0.3%