Workload

sustained-ingest

Inserts records with unique sequential IDs into an empty database using closed-loop clients, then flushes the accepted writes.

Application operations

APItotalavg/sp0.1/sp1/sp50/sp99/sp99.9/smin/smax/s
362.5M298.85K049.57K309.55K353.21K361.26K0365.57K
100000000

Application throughput

APItotal GiBavg MiB/sp0.1p1p50p99p99.9minmax
141.8119.7019.85123.99141.47144.70146.43

Application latency

APIavg msp0.1p1p50p99p99.9minmax
0.210.130.160.20.40.6904,022.27
12,988.4212,992.5112,992.5112,992.5112,992.5112,992.5112,984.3212,992.51
Time from when a write returns until SlateDB first reports its sequence durable.
6,333.36713.22794.115,603.3319,365.8921,233.66625.6625,149.44

Object-store operations

Methodtotalavg/sp0.1/sp1/sp50/sp99/sp99.9/smin/smax/s$$/month
322.34K265.7423256.01731766.991872.98$0.1289$275.52
1420.120004505$0.000710$1.52
77.13K63.580061.031541710182$0.3856$824.03
800.070001303$0.000032$0.0684
3.06K2.5200096151.010171.89$0.00$0.00
10.77K8.880082632033$0.0538$115.05

Object-store throughput

Methodtotal GiBavg MiB/sp0.1p1p50p99p99.9minmax
550.18464.4500447.031,341.791,458.8901,605.46
0.020.020000.731.7301.75
696.4587.8900569.721,511.761,63301,698.04
000000.040.0700.07
0.010.01000.010.040.0500.05

Process statistics

Metricavgp0.1p1p50p99p99.9minmax
8.560.73.198.3718.3819.750.0320.31
27.71.14.1730.4532.3632.390.5432.39

Machine statistics

Metricavgp0.1p1p50p99p99.9minmax
26.472.199.8125.8556.9861.030.1663.5
302.88632.6934.8434.872.3634.94
475.7100458.051,375.181,494.201,646.49
605.550.010.01583.821,566.081,691.3201,764.42
00000.120.4601.1
0.130000.643.460123.53
0.160001180117
1.2800014173.020654.02

Benchmark configuration

KeyValue
scale1
dataset / record count300,000,000
dataset / key bytes20 B
dataset / value bytes400 B
dataset / value compression ratio1
caches / block bytes8 GiB
caches / metadata bytes4 GiB
task / tasksustained-ingest
task / clients64
task / warmup ms0 ms
task / measurement ms1,200,000 ms
task / initial stateempty
task / key selectionunique-sequential
task / operation mix / put1
task / scan limit
task / transaction hot keys
task / transaction reads
task / transaction updates
build profilerelease
enabled featuresaws, foyer, wal_disable, zstd

SlateDB configuration

KeyValue
flush interval100ms
WAL enabledNo
manifest poll interval1s
manifest update timeout300s
min filter keys1,000
L0 SST size bytes64 MiB
max WAL flushes before L0 flush4,096
L0 max ssts32
L0 max ssts per key32
L0 flush parallelism4
max unflushed bytes2 GiB
compactor options / poll interval5s
compactor options / manifest update timeout300s
compactor options / max concurrent compactions4
compactor options / enable trivial moveNo
compactor options / scheduler options / max compaction sources16
compactor options / worker / max concurrent compactions4
compactor options / worker / compactions poll interval5s
compactor options / worker / heartbeat interval10s
compactor options / worker / max SST size268,435,456
compactor options / worker / max fetch tasks4
compactor options / worker / bytes to fetch2,097,152
compactor options / worker / max subcompactions8
compactor options / worker / min filter keys1,000
compactor options / worker / compression codec
compactor options / worker / metric level
compactor options / metric level
compactor options / commit compacted interval1s
compactor options / worker heartbeat timeout30s
compactor options / object store max retries
compression codec
object store cache options / root folder
object store cache options / max cache size bytes
object store cache options / part size bytes4 MiB
object store cache options / cache on flushNo
object store cache options / cache on compactionNo
object store cache options / preload disk cache on startup
object store cache options / scan interval3600s
object store cache options / max open file handles1,000
garbage collector options / manifest options / interval60s
garbage collector options / manifest options / min age300s
garbage collector options / manifest options / dry runNo
garbage collector options / WAL options / interval60s
garbage collector options / WAL options / min age300s
garbage collector options / WAL options / dry runNo
garbage collector options / WAL fence options / interval60s
garbage collector options / WAL fence options / min age300s
garbage collector options / WAL fence options / dry runYes
garbage collector options / compacted options / interval60s
garbage collector options / compacted options / min age300s
garbage collector options / compacted options / dry runNo
garbage collector options / compactions options / interval60s
garbage collector options / compactions options / min age300s
garbage collector options / compactions options / dry runNo
garbage collector options / detach options / interval60s
garbage collector options / metric level
garbage collector options / boundary files enabledYes
garbage collector options / object store max retries
metric levelInfo
default ttl
object store max retries