Comparison: JetStream

Show jobs details
Job Source Filter Repetitions Go Worker Job Info
a4abd092-0074-49e5-8967-92cb0f7d3dd2 main
https://github.com/nats-io/nats-server.git
(ed493ec938c33568192675fdacab0de30e929ba1)
BenchmarkJetStream(Publish|Consume).*/.*R=3.* 5 x 3s go version go1.25.1 linux/amd64
(/usr/local/go1.25.1/bin/go)
dev (?)
eu-amsterdam1.nats-demo.equinix.synadia.net
Linux_5.15.0-156-generic-x86_64
Submitted by at 2025-11-12 00:00:16 +0000 UTC
d2f9ae7f-2d79-4057-84e3-f78c066787ef v2.12.2
https://github.com/nats-io/nats-server.git
(8acc1e8db0c17cd71826ed9bbd3061b10c6d9b75)
BenchmarkJetStream(Publish|Consume).*/.*R=3.* 5 x 3s go version go1.25.4 linux/amd64
(/usr/local/go1.25.4/bin/go)
dev (?)
eu-amsterdam1.nats-demo.equinix.synadia.net
Linux_5.15.0-156-generic-x86_64
Submitted by at 2025-11-19 15:31:43 +0000 UTC

Push Consumer throughput (msg/s)

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

Show results table
main v2.12.2 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Sync,Ephemeral]-16 513k ± 11k 536k ± 66k +4.3%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ephemeral]-16 602k ± 86k 535k ± 6k -11.7%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ordered]-16 1.09M ± 0.08M 1.16M ± 0.04M +6.1%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Durable]-16 397k ± 9k 419k ± 34k Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Sync,Ephemeral]-16 412k ± 3k 370k ± 98k Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Async,Ephemeral]-16 419k ± 36k 460k ± 2k +9.2%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Async,Durable]-16 292k ± 54k 330k ± 23k +12.2%

Push Consumer throughput (byte/s)

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

Show results table
main v2.12.2 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Sync,Ephemeral]-16 5.14MB/s ± 0.11MB/s 5.36MB/s ± 0.66MB/s +4.3%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ephemeral]-16 6.02MB/s ± 0.86MB/s 5.35MB/s ± 0.06MB/s -11.1%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ordered]-16 10.9MB/s ± 0.8MB/s 11.6MB/s ± 0.4MB/s +6.3%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Durable]-16 3.68MB/s ± 0.38MB/s 4.18MB/s ± 0.34MB/s +13.6%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Sync,Ephemeral]-16 422MB/s ± 3MB/s 379MB/s ± 100MB/s Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Async,Ephemeral]-16 429MB/s ± 37MB/s 471MB/s ± 2MB/s +9.6%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Async,Durable]-16 299MB/s ± 55MB/s 338MB/s ± 23MB/s +13.0%

Pull Consumer throughput (msg/s)

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

Show results table
main v2.12.2 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Durable]-16 234k ± 44k 215k ± 1k Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Ephemeral]-16 312k ± 1k 314k ± 1k +0.7%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Durable]-16 190k ± 2k 191k ± 3k Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Ephemeral]-16 269k ± 2k 287k ± 55k Inconclusive

Pull Consumer throughput (byte/s)

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

Show results table
main v2.12.2 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Durable]-16 2.34MB/s ± 0.44MB/s 2.15MB/s ± 0.01MB/s Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Ephemeral]-16 3.12MB/s ± 0.01MB/s 3.14MB/s ± 0.01MB/s +0.7%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Durable]-16 195MB/s ± 2MB/s 195MB/s ± 3MB/s Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Ephemeral]-16 275MB/s ± 2MB/s 294MB/s ± 56MB/s Inconclusive

Filtered Consumer throughput (op/s)

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

Show results table
main v2.12.2 Δ%
JetStreamConsumeWithFilters/N=3,R=3,storage=Memory/D=100,DS=10,F=5,C=12-16 3.31k ± 0.01k 3.28k ± 0.04k Inconclusive
JetStreamConsumeWithFilters/N=3,R=3,storage=Memory/D=1000,DS=10,F=25,C=12-16 1.18k ± 0.00k 1.17k ± 0.01k Inconclusive
JetStreamConsumeWithFilters/N=3,R=3,storage=Memory/D=10000,DS=10,F=50,C=12-16 290 ± 2 290 ± 3 Inconclusive
JetStreamConsumeWithFilters/N=3,R=3,storage=File/D=100,DS=10,F=5,C=12-16 2.93k ± 0.01k 2.93k ± 0.02k Inconclusive
JetStreamConsumeWithFilters/N=3,R=3,storage=File/D=1000,DS=10,F=25,C=12-16 554 ± 17 575 ± 1 +3.7%
JetStreamConsumeWithFilters/N=3,R=3,storage=File/D=10000,DS=10,F=50,C=12-16 136 ± 1 137 ± 3 Inconclusive

Contiguous Filtered Consumer throughput (op/s)

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

Show results table
main v2.12.2 Δ%
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=Memory,SF-16 11.3k ± 0.1k 11.3k ± 0.0k +0.6%
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=Memory-16 13.8k ± 3.8k 11.3k ± 0.1k Inconclusive
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=File,SF-16 11.2k ± 0.0k 11.3k ± 0.0k +0.5%
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=File-16 11.1k ± 0.0k 11.2k ± 0.0k +0.6%

Single client Publish throughput (msg/s)

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

Show results table
main v2.12.2 Δ%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Sync-16 10.0k ± 0.1k 10.1k ± 0.2k +1.1%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:1000]-16 282k ± 2k 277k ± 2k -1.6%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:4000]-16 283k ± 2k 282k ± 2k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:8000]-16 287k ± 3k 288k ± 2k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Sync-16 9.44k ± 0.20k 9.59k ± 0.12k +1.5%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:1000]-16 180k ± 1k 179k ± 1k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:4000]-16 184k ± 2k 183k ± 1k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:8000]-16 187k ± 2k 187k ± 1k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Sync-16 10.0k ± 0.2k 10.0k ± 0.1k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:1000]-16 281k ± 2k 277k ± 1k -1.3%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:4000]-16 283k ± 1k 280k ± 3k -1.1%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:8000]-16 290k ± 2k 283k ± 6k -2.4%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Sync-16 9.43k ± 0.14k 9.54k ± 0.11k +1.2%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:1000]-16 180k ± 1k 180k ± 1k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:4000]-16 185k ± 2k 184k ± 1k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:8000]-16 187k ± 1k 186k ± 3k Inconclusive

Single client Publish throughput (byte/s)

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

Show results table
main v2.12.2 Δ%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Sync-16 100kB/s ± 0kB/s 100kB/s ± 0kB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:1000]-16 2.81MB/s ± 0.03MB/s 2.77MB/s ± 0.02MB/s -1.6%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:4000]-16 2.83MB/s ± 0.02MB/s 2.82MB/s ± 0.02MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:8000]-16 2.88MB/s ± 0.03MB/s 2.88MB/s ± 0.02MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Sync-16 9.67MB/s ± 0.20MB/s 9.82MB/s ± 0.12MB/s +1.5%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:1000]-16 184MB/s ± 1MB/s 183MB/s ± 1MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:4000]-16 189MB/s ± 2MB/s 188MB/s ± 2MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:8000]-16 191MB/s ± 2MB/s 192MB/s ± 1MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Sync-16 100kB/s ± 0kB/s 100kB/s ± 0kB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:1000]-16 2.81MB/s ± 0.02MB/s 2.77MB/s ± 0.02MB/s -1.3%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:4000]-16 2.83MB/s ± 0.02MB/s 2.80MB/s ± 0.04MB/s -1.0%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:8000]-16 2.90MB/s ± 0.01MB/s 2.83MB/s ± 0.06MB/s -2.3%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Sync-16 9.65MB/s ± 0.14MB/s 9.77MB/s ± 0.11MB/s +1.2%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:1000]-16 184MB/s ± 1MB/s 185MB/s ± 1MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:4000]-16 189MB/s ± 2MB/s 189MB/s ± 1MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:8000]-16 191MB/s ± 1MB/s 190MB/s ± 3MB/s Inconclusive

Concurrent Publish throughput (msg/s)

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

Show results table
main v2.12.2 Δ%
JetStreamPublishConcurrent/N=3,R=3/msgSz=10b/pubs=12-16 70.2k ± 0.2k 70.0k ± 0.3k -0.3%
JetStreamPublishConcurrent/N=3,R=3/msgSz=1024b/pubs=12-16 60.0k ± 0.6k 60.2k ± 0.3k Inconclusive
JetStreamPublishConcurrent/N=3,R=3/msgSz=102400b/pubs=12-16 1.88k ± 0.51k 2.15k ± 0.16k Inconclusive
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=10b/pubs=12-16 70.1k ± 0.1k 70.1k ± 0.2k Inconclusive
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=1024b/pubs=12-16 60.3k ± 0.6k 59.5k ± 1.1k Inconclusive
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=102400b/pubs=12-16 1.54k ± 0.01k 1.98k ± 0.32k +25.5%

Concurrent Publish throughput (byte/s)

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

Show results table
main v2.12.2 Δ%
JetStreamPublishConcurrent/N=3,R=3/msgSz=10b/pubs=12-16 700kB/s ± 0kB/s 700kB/s ± 0kB/s Inconclusive
JetStreamPublishConcurrent/N=3,R=3/msgSz=1024b/pubs=12-16 61.4MB/s ± 0.7MB/s 61.7MB/s ± 0.3MB/s Inconclusive
JetStreamPublishConcurrent/N=3,R=3/msgSz=102400b/pubs=12-16 193MB/s ± 52MB/s 220MB/s ± 16MB/s Inconclusive
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=10b/pubs=12-16 700kB/s ± 0kB/s 700kB/s ± 0kB/s Inconclusive
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=1024b/pubs=12-16 61.7MB/s ± 0.6MB/s 60.9MB/s ± 1.1MB/s Inconclusive
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=102400b/pubs=12-16 157MB/s ± 1MB/s 203MB/s ± 33MB/s +29.2%