Workload

balanced

Runs closed-loop clients with an equal mix of point reads and updates against existing records selected from a scrambled Zipfian distribution.

Application operations

APItotalavg/sp0.1/sp1/sp50/sp99/sp99.9/smin/smax/s
5.59M6.22K4.5K4.66K6.28K7.37K7.46K4.47K7.49K
5.59M6.21K4.49K4.66K6.27K7.41K7.6K4.47K7.77K
100000000

Application throughput

APItotal GiBavg MiB/sp0.1p1p50p99p99.9minmax
2.192.491.81.872.522.952.991.793
2.192.491.81.872.512.973.051.793.11

Application latency

APIavg msp0.1p1p50p99p99.9minmax
10.280.010.010.0551.291.840793.09
0.0100.010.010.040.0805.29
79.2679.379.379.379.379.379.2379.3
Time from when a write returns until SlateDB first reports its sequence durable.
116.5335.242.75115.26219.9301.5727.01493.57

Object-store operations

Methodtotalavg/sp0.1/sp1/sp50/sp99/sp99.9/smin/smax/s$$/month
2.1M2.33K2.09K2.12K2.34K2.47K2.66K2.08K2.74K$0.8384$2,414.31
1540.170004507.99$0.000770$2.22
9.38K10.4388.99102574775$0.0469$135.11
8.24K9.15000224.91235.170239.2$0.00$0.00
1940.22000810011$0.000970$2.79

Object-store throughput

Methodtotal GiBavg MiB/sp0.1p1p50p99p99.9minmax
11.0812.617.817.948.74157.83511.327.77526.5
0.030.040001.251.2602.08
6.597.491.791.912.66129.19642.081.78645.79
000000.090.0900.09
0000000.0100.01

Process statistics

Metricavgp0.1p1p50p99p99.9minmax
0.980.690.730.922.316.370.686.82
16.437.667.8217.3622.5222.567.622.57

Machine statistics

Metricavgp0.1p1p50p99p99.9minmax
3.072.12.262.917.219.782.0421.28
18.29.439.5819.1524.2724.329.3924.32
14.639.449.5910.61163.47519.949.35534.9
125.96.197.03136.86666.415.85667.07
00000.120.2100.46
0.020000.131.4101.42
0.15000120117
0.530001323034

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 / taskbalanced
task / clients64
task / warmup ms300,000 ms
task / measurement ms900,000 ms
task / initial stategolden
task / key selectionscrambled-zipfian-0.99
task / operation mix / get0.5
task / operation mix / put0.5
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 enabledYes
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