Comparison: JetStream

Show jobs details
Job Source Filter Repetitions Go Worker Job Info
a6430a6f-c254-4082-91df-fbf5f0cbfbad main
https://github.com/nats-io/nats-server.git
(85594c8ce6b253d8552efc602360929fc22fd583)
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-10-25 00:00:19 +0000 UTC
cdeb0404-3857-4581-9e8e-4e6adf77e43d v2.12.1
https://github.com/nats-io/nats-server.git
(35a616234d8572840a062846c92f10bea0037be7)
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-10-14 12:24:50 +0000 UTC

Push Consumer throughput (msg/s)

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

Show results table
main v2.12.1 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Sync,Ephemeral]-16 541k ± 53k 547k ± 30k Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ephemeral]-16 549k ± 5k 543k ± 9k -1.1%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ordered]-16 1.06M ± 0.09M 1.04M ± 0.02M Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Durable]-16 358k ± 58k 360k ± 57k Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Sync,Ephemeral]-16 426k ± 29k 416k ± 38k -2.5%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Async,Ephemeral]-16 467k ± 1k 456k ± 3k -2.3%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Async,Durable]-16 331k ± 54k 348k ± 31k Inconclusive

Push Consumer throughput (byte/s)

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

Show results table
main v2.12.1 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Sync,Ephemeral]-16 5.41MB/s ± 0.53MB/s 5.47MB/s ± 0.30MB/s Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ephemeral]-16 5.49MB/s ± 0.05MB/s 5.43MB/s ± 0.08MB/s -1.2%
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Ordered]-16 10.6MB/s ± 0.9MB/s 10.4MB/s ± 0.2MB/s Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=10b/PUSH[Async,Durable]-16 3.58MB/s ± 0.58MB/s 3.59MB/s ± 0.58MB/s Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Sync,Ephemeral]-16 437MB/s ± 30MB/s 426MB/s ± 39MB/s -2.5%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Async,Ephemeral]-16 478MB/s ± 1MB/s 467MB/s ± 3MB/s -2.3%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PUSH[Async,Durable]-16 339MB/s ± 55MB/s 356MB/s ± 32MB/s Inconclusive

Pull Consumer throughput (msg/s)

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

Show results table
main v2.12.1 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Durable]-16 216k ± 58k 225k ± 53k Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Ephemeral]-16 316k ± 3k 313k ± 3k -1.1%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Durable]-16 195k ± 2k 201k ± 42k Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Ephemeral]-16 275k ± 2k 271k ± 1k -1.5%

Pull Consumer throughput (byte/s)

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

Show results table
main v2.12.1 Δ%
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Durable]-16 2.16MB/s ± 0.58MB/s 2.26MB/s ± 0.53MB/s Inconclusive
JetStreamConsume/N=3,R=3,MsgSz=10b/PULL[Ephemeral]-16 3.16MB/s ± 0.03MB/s 3.13MB/s ± 0.03MB/s -1.1%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Durable]-16 199MB/s ± 2MB/s 196MB/s ± 4MB/s -2.0%
JetStreamConsume/N=3,R=3,MsgSz=1024b/PULL[Ephemeral]-16 282MB/s ± 2MB/s 278MB/s ± 1MB/s -1.5%

Filtered Consumer throughput (op/s)

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

Show results table
main v2.12.1 Δ%
JetStreamConsumeWithFilters/N=3,R=3,storage=Memory/D=100,DS=10,F=5,C=12-16 3.24k ± 0.09k 3.29k ± 0.06k +1.8%
JetStreamConsumeWithFilters/N=3,R=3,storage=Memory/D=1000,DS=10,F=25,C=12-16 1.17k ± 0.01k 1.17k ± 0.01k Inconclusive
JetStreamConsumeWithFilters/N=3,R=3,storage=Memory/D=10000,DS=10,F=50,C=12-16 288 ± 1 290 ± 3 +0.5%
JetStreamConsumeWithFilters/N=3,R=3,storage=File/D=100,DS=10,F=5,C=12-16 2.92k ± 0.01k 2.90k ± 0.04k Inconclusive
JetStreamConsumeWithFilters/N=3,R=3,storage=File/D=1000,DS=10,F=25,C=12-16 573 ± 0 574 ± 1 +0.2%
JetStreamConsumeWithFilters/N=3,R=3,storage=File/D=10000,DS=10,F=50,C=12-16 135 ± 2 136 ± 3 Inconclusive

Contiguous Filtered Consumer throughput (op/s)

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

Show results table
main v2.12.1 Δ%
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=Memory,SF-16 11.4k ± 0.0k 11.4k ± 0.0k Inconclusive
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=Memory-16 11.3k ± 0.0k 13.9k ± 3.8k Inconclusive
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=File,SF-16 11.3k ± 0.0k 11.3k ± 0.0k +0.5%
JetStreamConsumeFilteredContiguous/N=3,R=3,storage=File-16 13.6k ± 3.7k 11.2k ± 0.0k Inconclusive

Single client Publish throughput (msg/s)

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

Show results table
main v2.12.1 Δ%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Sync-16 10.0k ± 0.2k 10.0k ± 0.2k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:1000]-16 279k ± 3k 279k ± 0k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:4000]-16 280k ± 4k 282k ± 2k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:8000]-16 287k ± 2k 282k ± 7k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Sync-16 9.51k ± 0.05k 9.58k ± 0.15k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:1000]-16 179k ± 1k 180k ± 1k +0.4%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:4000]-16 184k ± 1k 183k ± 3k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:8000]-16 185k ± 1k 184k ± 4k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Sync-16 10.2k ± 0.1k 10.1k ± 0.1k -1.3%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:1000]-16 279k ± 2k 279k ± 4k Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:4000]-16 280k ± 1k 281k ± 3k +0.5%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:8000]-16 285k ± 2k 287k ± 1k +0.7%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Sync-16 9.48k ± 0.06k 9.52k ± 0.18k +0.4%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:1000]-16 178k ± 1k 180k ± 1k +1.0%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:4000]-16 184k ± 1k 184k ± 1k +0.5%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:8000]-16 186k ± 0k 186k ± 2k Inconclusive

Single client Publish throughput (byte/s)

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

Show results table
main v2.12.1 Δ%
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.79MB/s ± 0.02MB/s 2.79MB/s ± 0.00MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:4000]-16 2.80MB/s ± 0.04MB/s 2.82MB/s ± 0.02MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1/Async[W:8000]-16 2.86MB/s ± 0.02MB/s 2.83MB/s ± 0.07MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Sync-16 9.74MB/s ± 0.05MB/s 9.81MB/s ± 0.15MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:1000]-16 183MB/s ± 1MB/s 184MB/s ± 1MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:4000]-16 188MB/s ± 1MB/s 187MB/s ± 3MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1/Async[W:8000]-16 190MB/s ± 1MB/s 189MB/s ± 4MB/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.79MB/s ± 0.02MB/s 2.79MB/s ± 0.04MB/s Inconclusive
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:4000]-16 2.80MB/s ± 0.01MB/s 2.81MB/s ± 0.03MB/s +0.4%
JetStreamPublish/N=3,R=3,MsgSz=10b,Subjs=1#01/Async[W:8000]-16 2.85MB/s ± 0.03MB/s 2.88MB/s ± 0.02MB/s +0.7%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Sync-16 9.71MB/s ± 0.06MB/s 9.75MB/s ± 0.18MB/s +0.4%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:1000]-16 183MB/s ± 1MB/s 184MB/s ± 1MB/s +1.0%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:4000]-16 188MB/s ± 1MB/s 189MB/s ± 1MB/s +0.5%
JetStreamPublish/N=3,R=3,MsgSz=1024b,Subjs=1#01/Async[W:8000]-16 191MB/s ± 0MB/s 190MB/s ± 2MB/s Inconclusive

Concurrent Publish throughput (msg/s)

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

Show results table
main v2.12.1 Δ%
JetStreamPublishConcurrent/N=3,R=3/msgSz=10b/pubs=12-16 67.2k ± 2.8k 70.2k ± 0.1k +4.5%
JetStreamPublishConcurrent/N=3,R=3/msgSz=1024b/pubs=12-16 60.1k ± 0.5k 60.1k ± 0.5k Inconclusive
JetStreamPublishConcurrent/N=3,R=3/msgSz=102400b/pubs=12-16 1.99k ± 0.36k 1.95k ± 0.30k Inconclusive
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=10b/pubs=12-16 70.1k ± 0.1k 70.2k ± 0.1k Inconclusive
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=1024b/pubs=12-16 59.9k ± 0.7k 60.1k ± 0.2k Inconclusive
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=102400b/pubs=12-16 2.00k ± 0.36k 1.96k ± 0.28k Inconclusive

Concurrent Publish throughput (byte/s)

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

Show results table
main v2.12.1 Δ%
JetStreamPublishConcurrent/N=3,R=3/msgSz=10b/pubs=12-16 672kB/s ± 28kB/s 700kB/s ± 0kB/s +4.2%
JetStreamPublishConcurrent/N=3,R=3/msgSz=1024b/pubs=12-16 61.6MB/s ± 0.5MB/s 61.6MB/s ± 0.5MB/s Inconclusive
JetStreamPublishConcurrent/N=3,R=3/msgSz=102400b/pubs=12-16 204MB/s ± 37MB/s 200MB/s ± 31MB/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.3MB/s ± 0.7MB/s 61.5MB/s ± 0.2MB/s Inconclusive
JetStreamPublishConcurrent/N=3,R=3#01/msgSz=102400b/pubs=12-16 205MB/s ± 37MB/s 201MB/s ± 29MB/s Inconclusive