writeonce/bench/baseline.json
shoney.arickathil 0b618ace19 docs+fix(db): T6 closeout — and reads no longer wait for the barrier
databasev2 4 part A, task 6. Mostly documentation, plus one real fix the
full battery caught.

THE FIX. The drain held EVERY DB reply until the barrier — including
reads, which stage nothing and have no stake in durability. That parked
readers behind an fsync for no reason: durable.sN.mixread.p99 rose from
~1043us to 4057us. Only a statement that actually staged a record now has
its reply held. Caught by the gate, not by review.

THE TRADE, recorded rather than smoothed over. What remains is inherent: a
barrier blocks the owner shard LONGER (more records per fsync) though LESS
OFTEN, so anything queued behind one waits. Three full runs of the same
build gave durable.sN.mixread.p99 of 1043 / 2318 / 4147us and wmix.p99 of
8758 / 20000us — a 2-4x spread with the box near idle. So part A buys ~3x
write throughput at the cost of a longer, noisier tail on the owner shard,
and that is the strongest argument for part B (submit and keep serving).

- durable.sN.*.p99us tolerance widened to 100% WITH the reason in the
  code: a 2-4x-variable tail gated at 50% gates the disk, not the engine.
  The floor is the real guard and is not slack — mixread's (4172us) came
  within 25us of tripping on the worst run. Baseline refreshed; a fresh
  full run then passed 106 checks 0 failures

EXIT STATUS MOVED 3 -> 74 (sysexits EX_IOERR). 3 and 4 are already used by
SAMPLES for their own meanings — db-bench's own `verify` exits 3 on a
checksum mismatch, and it is the gate that exercises durability, so a
durability abort exiting 3 would have been indistinguishable from the
mismatch it should help diagnose. The low range belongs to programs.

Docs:

- story: progress, the payoff measured two ways, the cost side, criteria
  split met/outstanding, and a "part B — its premise changed" section:
  it was justified by "close the 66x gap", but that gap is two problems
  and only the concurrent one was a batching problem
- board: standup entry in the six-question shape; both databasev2 4 rows
  rewritten. They had said "close the 66x gap" — recorded as MIS-STATED
  rather than quietly renumbered
- 00-wob-format.md and 04-db-binding.md: the normative failure contract
  ("a failed WAL commit traps WO_T_IO after un-applying the row") was
  false; corrected, along with the tick-scoped group commit that never
  happened
- database/src/CODE-LOGIC.md: where the barrier runs and why there, why
  replies are held, why the inline path is asymmetric, the one failure
  rule, and how to measure it
- db-bench README: the wmix mode, the env knobs, and the tmpfs warning

Battery: wovm-test 36 suites 0 fail, woc-test, oop-e2e 119/0,
db-bench 106/0, linkcheck clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-28 16:48:23 +02:00

525 lines
No EOL
9.1 KiB
JSON

{
"_config": {
"N": 20000,
"crash_reps": 3,
"msg_n": 200000,
"note": "refresh only with a commit that says why; tolerances come from tolerance_for() in the driver",
"wal_n": 4000
},
"durable.s1.mixread.ops_sec": {
"dir": "higher",
"floor": 2173,
"tolerance_pct": 50,
"value": 8695
},
"durable.s1.mixread.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"durable.s1.mixread.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 14
},
"durable.s1.mixwrite.ops_sec": {
"dir": "higher",
"floor": 241,
"tolerance_pct": 50,
"value": 966
},
"durable.s1.mixwrite.p50us": {
"dir": "lower",
"floor": 1744,
"tolerance_pct": 50,
"value": 436
},
"durable.s1.mixwrite.p99us": {
"dir": "lower",
"floor": 2832,
"tolerance_pct": 50,
"value": 708
},
"durable.s1.query.ops_sec": {
"dir": "higher",
"floor": 314465,
"tolerance_pct": 50,
"value": 1257861
},
"durable.s1.query.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"durable.s1.query.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"durable.s1.read.ops_sec": {
"dir": "higher",
"floor": 318714,
"tolerance_pct": 50,
"value": 1274859
},
"durable.s1.read.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"durable.s1.read.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"durable.s1.seed.ops_sec": {
"dir": "higher",
"floor": 1102,
"tolerance_pct": 15,
"value": 4409
},
"durable.s1.seed.p50us": {
"dir": "lower",
"floor": 844,
"tolerance_pct": 15,
"value": 211
},
"durable.s1.seed.p99us": {
"dir": "lower",
"floor": 2280,
"tolerance_pct": 15,
"value": 570
},
"durable.s1.wmix.mean_batch": {
"dir": "higher",
"floor": 0.0,
"tolerance_pct": 100,
"value": 1.0
},
"durable.s1.wmix.ops_sec": {
"dir": "higher",
"floor": 396,
"tolerance_pct": 15,
"value": 1586
},
"durable.s1.wmix.p50us": {
"dir": "lower",
"floor": 1780,
"tolerance_pct": 15,
"value": 445
},
"durable.s1.wmix.p99us": {
"dir": "lower",
"floor": 2728,
"tolerance_pct": 15,
"value": 682
},
"durable.s1.wmix.peak_batch": {
"dir": "higher",
"floor": 0,
"tolerance_pct": 100,
"value": 1
},
"durable.s1.wmix.peak_staged": {
"dir": "lower",
"floor": 196,
"tolerance_pct": 100,
"value": 49
},
"durable.s1.write.ops_sec": {
"dir": "higher",
"floor": 584,
"tolerance_pct": 15,
"value": 2338
},
"durable.s1.write.p50us": {
"dir": "lower",
"floor": 1744,
"tolerance_pct": 15,
"value": 436
},
"durable.s1.write.p99us": {
"dir": "lower",
"floor": 2588,
"tolerance_pct": 15,
"value": 647
},
"durable.sN.mixread.ops_sec": {
"dir": "higher",
"floor": 1251,
"tolerance_pct": 50,
"value": 5007
},
"durable.sN.mixread.p50us": {
"dir": "lower",
"floor": 240,
"tolerance_pct": 50,
"value": 60
},
"durable.sN.mixread.p99us": {
"dir": "lower",
"floor": 14156,
"tolerance_pct": 100,
"value": 3539
},
"durable.sN.mixwrite.ops_sec": {
"dir": "higher",
"floor": 139,
"tolerance_pct": 50,
"value": 556
},
"durable.sN.mixwrite.p50us": {
"dir": "lower",
"floor": 2220,
"tolerance_pct": 50,
"value": 555
},
"durable.sN.mixwrite.p99us": {
"dir": "lower",
"floor": 21280,
"tolerance_pct": 100,
"value": 5320
},
"durable.sN.query.ops_sec": {
"dir": "higher",
"floor": 309981,
"tolerance_pct": 50,
"value": 1239925
},
"durable.sN.query.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"durable.sN.query.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 100,
"value": 1
},
"durable.sN.read.ops_sec": {
"dir": "higher",
"floor": 291987,
"tolerance_pct": 50,
"value": 1167951
},
"durable.sN.read.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"durable.sN.read.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 100,
"value": 1
},
"durable.sN.seed.ops_sec": {
"dir": "higher",
"floor": 1121,
"tolerance_pct": 50,
"value": 4484
},
"durable.sN.seed.p50us": {
"dir": "lower",
"floor": 844,
"tolerance_pct": 50,
"value": 211
},
"durable.sN.seed.p99us": {
"dir": "lower",
"floor": 2248,
"tolerance_pct": 100,
"value": 562
},
"durable.sN.wmix.mean_batch": {
"dir": "higher",
"floor": 1.0,
"tolerance_pct": 100,
"value": 6.35
},
"durable.sN.wmix.ops_sec": {
"dir": "higher",
"floor": 1535,
"tolerance_pct": 50,
"value": 6140
},
"durable.sN.wmix.p50us": {
"dir": "lower",
"floor": 26480,
"tolerance_pct": 50,
"value": 6620
},
"durable.sN.wmix.p99us": {
"dir": "lower",
"floor": 48548,
"tolerance_pct": 100,
"value": 12137
},
"durable.sN.wmix.peak_batch": {
"dir": "higher",
"floor": 15,
"tolerance_pct": 100,
"value": 60
},
"durable.sN.wmix.peak_staged": {
"dir": "lower",
"floor": 11760,
"tolerance_pct": 100,
"value": 2940
},
"durable.sN.write.ops_sec": {
"dir": "higher",
"floor": 579,
"tolerance_pct": 50,
"value": 2317
},
"durable.sN.write.p50us": {
"dir": "lower",
"floor": 1752,
"tolerance_pct": 50,
"value": 438
},
"durable.sN.write.p99us": {
"dir": "lower",
"floor": 2628,
"tolerance_pct": 100,
"value": 657
},
"ram.s1.mixread.ops_sec": {
"dir": "higher",
"floor": 22428,
"tolerance_pct": 50,
"value": 89712
},
"ram.s1.mixread.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"ram.s1.mixread.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 2
},
"ram.s1.mixwrite.ops_sec": {
"dir": "higher",
"floor": 2492,
"tolerance_pct": 50,
"value": 9968
},
"ram.s1.mixwrite.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"ram.s1.mixwrite.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"ram.s1.msgrate.msgs_sec": {
"dir": "higher",
"floor": 1756111,
"tolerance_pct": 15,
"value": 14048890
},
"ram.s1.query.ops_sec": {
"dir": "higher",
"floor": 208073,
"tolerance_pct": 50,
"value": 832292
},
"ram.s1.query.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"ram.s1.query.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 2
},
"ram.s1.read.ops_sec": {
"dir": "higher",
"floor": 254556,
"tolerance_pct": 50,
"value": 1018226
},
"ram.s1.read.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"ram.s1.read.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"ram.s1.seed.ops_sec": {
"dir": "higher",
"floor": 56107,
"tolerance_pct": 15,
"value": 224429
},
"ram.s1.seed.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 15,
"value": 4
},
"ram.s1.seed.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 15,
"value": 13
},
"ram.s1.write.ops_sec": {
"dir": "higher",
"floor": 45587,
"tolerance_pct": 15,
"value": 182351
},
"ram.s1.write.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 15,
"value": 8
},
"ram.s1.write.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 15,
"value": 12
},
"ram.sN.mixread.ops_sec": {
"dir": "higher",
"floor": 7482,
"tolerance_pct": 50,
"value": 29930
},
"ram.sN.mixread.p50us": {
"dir": "lower",
"floor": 272,
"tolerance_pct": 50,
"value": 68
},
"ram.sN.mixread.p99us": {
"dir": "lower",
"floor": 372,
"tolerance_pct": 50,
"value": 93
},
"ram.sN.mixwrite.ops_sec": {
"dir": "higher",
"floor": 831,
"tolerance_pct": 50,
"value": 3325
},
"ram.sN.mixwrite.p50us": {
"dir": "lower",
"floor": 296,
"tolerance_pct": 50,
"value": 74
},
"ram.sN.mixwrite.p99us": {
"dir": "lower",
"floor": 420,
"tolerance_pct": 50,
"value": 105
},
"ram.sN.msgrate.msgs_sec": {
"dir": "higher",
"floor": 307283,
"tolerance_pct": 50,
"value": 2458270
},
"ram.sN.query.ops_sec": {
"dir": "higher",
"floor": 246669,
"tolerance_pct": 50,
"value": 986679
},
"ram.sN.query.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"ram.sN.query.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"ram.sN.read.ops_sec": {
"dir": "higher",
"floor": 262357,
"tolerance_pct": 50,
"value": 1049428
},
"ram.sN.read.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"ram.sN.read.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 1
},
"ram.sN.seed.ops_sec": {
"dir": "higher",
"floor": 63510,
"tolerance_pct": 50,
"value": 254042
},
"ram.sN.seed.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 4
},
"ram.sN.seed.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 8
},
"ram.sN.write.ops_sec": {
"dir": "higher",
"floor": 47959,
"tolerance_pct": 50,
"value": 191839
},
"ram.sN.write.p50us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 8
},
"ram.sN.write.p99us": {
"dir": "lower",
"floor": 100,
"tolerance_pct": 50,
"value": 12
}
}