Node.js load test results

View Source

34,162 records per second at saturation, batch 10 x 256B (2.5KB of values per request, group commit off, segment preallocation 64MB), over 15.016s with 0 errors, scenario produce, peaking at 64 connections (server at 1.23 of 3 cores, generator at 0.38 of 1 cores).

Measured with scripts/loadtest.js, the Node reference client. Every number here comes from the recorded run described under Reproduce; none of it is maintained by hand. See Running the Node.js load test for the other ways to drive it.

Throughput

MeasureValue
Records per second34,162
Operations per second3,416
Data rate8.746 MB/s
Records512,990
Operations51,299
Peak connections64
Server CPU (cores)1.23 of 3
Generator CPU (cores)0.38 of 1
Duration15.016s
Errors0

Throughput by batch size

Each batch size ran over its own connection ladder, 1 repetition per point, with the points interleaved across batch sizes. Repeating the headline peak moved it 1.8% (34,162 then 34,771 records per second), so a difference between batch sizes smaller than that is noise. Compare batch sizes within this run rather than across runs: on a shared CI runner the published ceiling has moved by more than 30% between runs of unchanged code.

BatchValues per requestPeak records/sAt connectionsStatusLower bound because
102.5KB34,16264peakno
10025KB208,62132peakno
512128KB413,3728peakthe single generator core was saturated
1,024256KB406,8748peakthe single generator core was saturated
4,0961MB308,51632peakno

Latency

MeasureValue
Minimum4.35 ms
Mean18.72 ms
Standard deviation3.28 ms
P5018.37 ms
P9019.65 ms
P9521.82 ms
P9929.76 ms
P99.963.62 ms
P99.9964.13 ms
Maximum64.07 ms

Reproduce

MeasureValue
Commandscripts/loadtest.js --scenario produce --json --connections 64 --batch 10 --record-size 256 --duration 15 --warmup 3 --connect-strategy bounded --connect-concurrency 32
Run at2026-11-04T00:43:45.117Z
Version0.22.6
Commit2b16e81 (2026-11-03T21:38:15-03:00)
CPUAMD EPYC 7763 64-Core Processor
Cores4
Memory15.6 GB
OSlinux 7.0.0-1017-azure
Batch sizes10 100 512 1024 4096
Connection laddersbatch 10: 32 64 128 256 512; batch 100: 16 32 64 128 256; batch 512: 8 16 32 64 128; batch 1024: 8 16 32 64 128; batch 4096: 4 8 16 32 64
Repetitions per point1
Record size256B
Group commitoff
Segment preallocation64MB