Flower / Field notesReactive database · Raft · TypeScript

Goblin Pizza Express / Benchmark report

The rush-hour report.

Goblins bake. Drones deliver. Raft keeps the books.
Scheduled ovens, leased deliveries, and reactive shop totals under load.

Passed

2026-09-25 05:44:47 UTC

66.29 s total wall time · 0 unexpected failures

Customer goodput

6,825.4 / s

70% reads · 30% mutations among successful customer calls.

All-call latency

All-call latency: 423,870 calls; p50 2.06 ms, p99 176 ms, max 1.09 s. Log axis from 0.0329 ms to 1.17 s.

p50 2.06 ms · p99 176 ms. All load-phase logical calls, including worker traffic, replays, discovery, and retries.

Orders delivered

96 / 96

246 pizzas · 1,722 copper in delivery revenue.

Quorum recovery

592.9 ms

First recorded crash to a serving quorum; restart catch-up is tracked separately.

Replica-local customer previews: replication lag is allowed. The selected pizza.shop.local method uses coherent locally applied snapshots without a quorum fence. Data, code, and aliases may lag without a bound; requests across replicas can return decreasing revisions. Replica-local is the benchmark default; choose --read-consistency fresh to measure quorum-fenced previews. Mutations and the final pizza.world audit retain fresh semantics.

The customer's view

Successful work, precisely counted.

One Raft group
Successful customer mix
70% reads / 30% mutations
Successful customer calls
410,391
Failed customer calls
0
Measured load duration
60.13 s
Load worker completions excluded
1,055
Load replay completions excluded
12,424
Customer goodput uses actual successful primary customer calls and the measured load duration.
Load measurementSuccessful completionsGoodput / sSuccessful customer share
Primary customer reads287,0054,773.370%
Primary customer mutations123,3862,052.130%
All primary customer calls410,3916,825.4100%
All logical calls, including workers and replays423,8707,049.6Includes non-customer traffic
Raw successful HTTP responses423,8707,049.6Includes retries and non-customer traffic

Counting definition: successful pizza.shop.local, pizza.order, and pizza.tip logical calls per measured load second. Transport retries count once when their customer call succeeds. Explicit .replay probes, worker claims and deliveries, polling, setup, audit, and every failed call contribute zero customer goodput. Actual successful read/mutation shares appear above.

The run verdict covers correctness and completion of any requested CPU profile. Customer goodput is an average over the recorded load phase; individual intervals can differ.

The rush, second by second

How the run unfolded

61 recorded time samples

Observed completion rate

Each point summarizes the interval since the previous sample.

Interval throughput over timeSuccessful HTTP responses and completed logical calls per second in each sampling interval. Dashed vertical lines mark recorded leader crashes. 61 samples over 60.28 s since load start. HTTP responses: first 18.6, last 0.0 events / s. Logical calls: first 18.6, last 0.0 events / s.00s2,57015s5,13930s7,70945s10,27860sLeader crash at 30.02 s after load startCrashHTTP responsesLogical calls
HTTP responsesLogical callsevents / s · elapsed load time

Cumulative HTTP tail latency

p95 of attempts since load began; not an interval percentile.

Cumulative HTTP p95 over timeThe latency p95 is cumulative from load start through each sample, including drain. It is not a moving-window or interval percentile. 61 samples over 60.28 s since load start. Cumulative p95: first 333.2, last 132.1 ms.00s9215s18430s27645s36860sLeader crash at 30.02 s after load startCrashCumulative p95
Cumulative p95ms · elapsed load time

Orders placed and delivered

Acknowledgements observed by the benchmark driver.

Acknowledged orders and deliveries over timeCumulative acknowledged order and delivery counts. Their gap shows business work still waiting for completion. 61 samples over 60.28 s since load start. Orders: first 0.0, last 96.0 orders. Deliveries: first 4.0, last 96.0 orders.00s2415s4830s7245s9660sLeader crash at 30.02 s after load startCrashOrdersDeliveries
OrdersDeliveriesorders · elapsed load time

Driver resident memory

Samples include the driver's runtime and retained workload records.

Driver resident memory over timeBenchmark driver resident memory sampled over elapsed load time. 61 samples over 60.28 s since load start. Driver RSS: first 317.8, last 278.5 MiB.00s10215s20330s30545s40660sLeader crash at 30.02 s after load startCrashDriver RSS
Driver RSSMiB · elapsed load time

Lines connect observed samples; no measurements are interpolated into the underlying data. Throughput is an interval rate, while p95 is cumulative. The driver and database share a machine. Any crash marker is positioned relative to the start of measured load.

Recorded time samples
Retries and HTTP failures are counts for each interval. Cumulative p95 covers all attempts since load began.
ElapsedPhaseHTTP attempts / sHTTP success / sLogical complete / sRetriesHTTP failuresCumulative p95OrdersDeliveriesDriver MiB
1.07 sload18.618.618.600333.2 ms04317.8
2.08 sload3,542.93,542.93,542.900368.1 ms9612328.2
3.19 sload10,046.510,046.510,046.500212.9 ms9627335.0
4.19 sload5,708.45,708.45,708.400202.6 ms9643336.9
5.19 sload7,138.07,138.07,138.000194.7 ms9662339.4
6.20 sload6,228.16,228.16,228.100190.9 ms9676340.8
7.20 sload6,276.86,276.86,276.800183.4 ms9689342.5
8.21 sload6,937.76,937.76,937.700171.1 ms9694345.7
9.21 sload6,829.96,829.96,829.900161.2 ms9696347.2
10.22 sload6,588.56,588.56,588.500158.0 ms9696348.9
11.22 sload7,022.17,022.17,022.100154.9 ms9696350.4
12.22 sload7,265.47,265.47,265.400151.8 ms9696352.0
13.22 sload6,337.56,337.56,337.500148.8 ms9696353.8
14.22 sload5,580.85,580.85,580.800151.8 ms9696357.6
15.22 sload5,781.65,781.65,781.600153.3 ms9696362.0
16.23 sload7,038.47,038.47,038.400153.3 ms9696363.6
17.23 sload6,941.86,941.86,941.800150.3 ms9696365.2
18.23 sload7,288.87,288.87,288.800148.8 ms9696366.9
19.23 sload6,192.66,192.66,192.600148.8 ms9696368.5
20.23 sload7,678.67,678.67,678.600145.9 ms9696370.1
21.23 sload6,172.46,172.46,172.400145.9 ms9696371.6
22.23 sload6,466.26,466.26,466.200147.4 ms9696373.2
23.23 sload5,988.15,988.15,988.100147.4 ms9696374.8
24.24 sload5,565.05,565.05,565.000150.3 ms9696376.5
25.24 sload5,887.45,887.45,887.400148.8 ms9696378.2
26.24 sload6,930.26,930.26,930.200148.8 ms9696379.8
27.24 sload6,576.26,576.26,576.200147.4 ms9696381.5
28.24 sload6,123.56,123.56,123.500147.4 ms9696383.0
29.24 sload5,676.45,676.45,676.400147.4 ms9696384.6
30.24 sload6,450.95,938.95,938.9256512147.4 ms9696386.8
31.24 sload3,829.02,518.62,518.61,5661,310147.4 ms9696389.6
32.24 sload6,589.66,508.66,508.68181147.4 ms9696391.6
33.24 sload3,257.63,236.63,236.62121147.4 ms9696393.7
34.24 sload6,312.16,312.16,312.100145.9 ms9696395.3
35.24 sload9,023.29,023.29,023.200145.9 ms9696390.3
36.24 sload9,086.89,086.89,086.800144.5 ms9696391.9
37.24 sload9,005.39,005.39,005.300143.0 ms9696393.5
38.24 sload9,502.49,502.49,502.400141.6 ms9696394.9
39.24 sload7,738.07,738.07,738.000141.6 ms9696396.5
40.24 sload8,090.08,090.08,090.000140.2 ms9696398.3
41.25 sload7,954.97,954.97,954.900140.2 ms9696399.9
42.25 sload7,780.97,780.97,780.900140.2 ms9696401.4
43.25 sload6,297.46,297.46,297.400138.8 ms9696403.2
44.25 sload6,427.16,427.16,427.100138.8 ms9696404.8
45.25 sload7,964.57,964.57,964.500138.8 ms9696406.4
46.25 sload9,023.39,023.39,023.300137.4 ms9696404.2
47.25 sload9,747.79,747.79,747.700137.4 ms9696404.2
48.25 sload10,278.210,278.210,278.200137.4 ms9696404.2
49.25 sload7,811.37,811.37,811.300136.1 ms9696404.2
50.25 sload7,730.97,730.97,730.900136.1 ms9696404.2
51.25 sload7,686.87,686.87,686.800136.1 ms9696397.0
52.25 sload6,979.26,979.26,979.200134.7 ms9696397.0
53.25 sload7,663.87,663.87,663.800134.7 ms9696397.0
54.25 sload7,550.37,550.37,550.300134.7 ms9696397.0
55.25 sload7,437.67,437.67,437.600134.7 ms9696279.0
56.25 sload7,703.77,703.77,703.700133.4 ms9696279.0
57.25 sload8,692.88,692.88,692.800133.4 ms9696279.0
58.25 sload9,661.39,661.39,661.300133.4 ms9696279.0
59.25 sload9,959.09,959.09,959.000132.1 ms9696279.0
60.26 sdrain9,141.59,141.59,141.500132.1 ms9696278.5
60.28 sdrain0.00.00.000132.1 ms9696278.5

The shape of the rush

Throughput & response time

Closed-loop workload

Successful work by phase

Actual measured phase durations appear below the bars.

Successful throughput by phaseSuccessful HTTP responses and completed logical calls per second for each phase. Setup: HTTP responses 1.2 events / s, Logical calls 1.2 events / s. Warmup: HTTP responses 11,558.6 events / s, Logical calls 11,558.6 events / s. Load: HTTP responses 7,049.6 events / s, Logical calls 7,049.6 events / s. Drain: HTTP responses 6.7 events / s, Logical calls 6.7 events / s. Audit: HTTP responses 26.7 events / s, Logical calls 26.7 events / s02,8905,7798,66911,559Setup · HTTP responses: 1.2 events / sSetup · Logical calls: 1.2 events / sSetup4.30 sWarmup · HTTP responses: 11,558.6 events / sWarmup · Logical calls: 11,558.6 events / sWarmup1.00 sLoad · HTTP responses: 7,049.6 events / sLoad · Logical calls: 7,049.6 events / sLoad60.13 sDrain · HTTP responses: 6.7 events / sDrain · Logical calls: 6.7 events / sDrain0.15 sAudit · HTTP responses: 26.7 events / sAudit · Logical calls: 26.7 events / sAudit0.04 s
HTTP responsesLogical callsevents / s · linear scale

Logical latency by phase

Retry and discovery time remain visible in the tails.

Logical calls by the phase they started in. One log axis from 0.0329 ms to 1.17 s; each line marks p99.
PopulationCallsLatency
Setup5Setup: 5 calls; p50 293 ms, p99 337 ms, max 337 ms. Log axis from 0.0329 ms to 1.17 s.p99 337 ms
Warmup11,613Warmup: 11,613 calls; p50 19.4 ms, p99 64.5 ms, max 88.3 ms. Log axis from 0.0329 ms to 1.17 s.p99 64.5 ms
Load423,870Load: 423,870 calls; p50 2.06 ms, p99 176 ms, max 1.09 s. Log axis from 0.0329 ms to 1.17 s.p99 176 ms
Drain1Drain: 1 call; p50 7.28 ms, p99 7.28 ms, max 7.28 ms. Log axis from 0.0329 ms to 1.17 s.p99 7.28 ms
Audit20Audit: 20 calls; p50 1.56 ms, p99 7.02 ms, max 7.02 ms. Log axis from 0.0329 ms to 1.17 s.p99 7.02 ms

A successful HTTP response is not necessarily a new business mutation: receipt replays count as responses, and queries also count. Phase percentiles cover successful and failed attempts or calls. Warmup uses reads and is not comparable to the mixed load phase.

Every call accounted for

Requests, retries & methods

Load details expanded below
Load HTTP attempts
425,794
Load HTTP successes
423,870
Load HTTP failures
1,924
Load retry attempts
1,924
Load duplicate responses
12,424
Load logical failures
0

Network retries belong to the same logical call. Deliberate deduplication probes appear separately as .replay calls. Expected stale-lease failures can appear in these measurements without failing the benchmark.

Setup4.30 s · 5 HTTP attempts
Successful HTTP / s
1.2
Completed logical / s
1.2
HTTP failures
0
Logical failures
0

HTTP error categories: None recorded

Setup HTTP attempts. Latency histograms share one log axis from 1.85 ms to 423 ms; each line marks p99.
HTTP methodAttemptsSucceededFailedRetriesDuplicatesSuccess / sLatency
deploy110000.2deploy HTTP attempts: 1 call; p50 290 ms, p99 290 ms, max 290 ms. Log axis from 1.85 ms to 423 ms.p99 290 ms
pizza.setup110000.2pizza.setup HTTP attempts: 1 call; p50 22.1 ms, p99 22.1 ms, max 22.1 ms. Log axis from 1.85 ms to 423 ms.p99 22.1 ms
pizza.shop330000.7pizza.shop HTTP attempts: 3 calls; p50 314 ms, p99 337 ms, max 337 ms. Log axis from 1.85 ms to 423 ms.p99 337 ms
Logical calls, including explicit replays
One logical call includes discovery, retries, and backoff. Explicit replay checks are separate .replay calls. Latency histograms share one log axis from 1.85 ms to 423 ms.
Logical methodCallsCompletedFailedDuplicatesComplete / sLatency
deploy11000.2deploy logical calls: 1 call; p50 290 ms, p99 290 ms, max 290 ms. Log axis from 1.85 ms to 423 ms.p99 290 ms
pizza.setup11000.2pizza.setup logical calls: 1 call; p50 22.2 ms, p99 22.2 ms, max 22.2 ms. Log axis from 1.85 ms to 423 ms.p99 22.2 ms
pizza.shop33000.7pizza.shop logical calls: 3 calls; p50 314 ms, p99 337 ms, max 337 ms. Log axis from 1.85 ms to 423 ms.p99 337 ms
Warmup1.00 s · 11,613 HTTP attempts
Successful HTTP / s
11,558.6
Completed logical / s
11,558.6
HTTP failures
0
Logical failures
0

HTTP error categories: None recorded

Warmup HTTP attempts. Latency histograms share one log axis from 2.81 ms to 105 ms; each line marks p99.
HTTP methodAttemptsSucceededFailedRetriesDuplicatesSuccess / sLatency
pizza.shop.local11,61311,61300011,558.6pizza.shop.local HTTP attempts: 11,613 calls; p50 19.4 ms, p99 64.5 ms, max 88.3 ms. Log axis from 2.81 ms to 105 ms; 0.043% of calls fall outside it.p99 64.5 ms
Logical calls, including explicit replays
One logical call includes discovery, retries, and backoff. Explicit replay checks are separate .replay calls. Latency histograms share one log axis from 2.81 ms to 105 ms.
Logical methodCallsCompletedFailedDuplicatesComplete / sLatency
pizza.shop.local11,61311,6130011,558.6pizza.shop.local logical calls: 11,613 calls; p50 19.4 ms, p99 64.5 ms, max 88.3 ms. Log axis from 2.81 ms to 105 ms; 0.043% of calls fall outside it.p99 64.5 ms
Load60.13 s · 425,794 HTTP attempts
Successful HTTP / s
7,049.6
Completed logical / s
7,049.6
HTTP failures
1,924
Logical failures
0

HTTP error categories: network 1,924

Load HTTP attempts. Latency histograms share one log axis from 0.0301 ms to 816 ms; each line marks p99.
HTTP methodAttemptsSucceededFailedRetriesDuplicatesSuccess / sLatency
pizza.claim95995900015.9pizza.claim HTTP attempts: 959 calls; p50 94.2 ms, p99 238 ms, max 374 ms. Log axis from 0.0301 ms to 816 ms.p99 238 ms
pizza.deliver10610600101.8pizza.deliver HTTP attempts: 106 calls; p50 112 ms, p99 436 ms, max 448 ms. Log axis from 0.0301 ms to 816 ms.p99 436 ms
pizza.order1051050091.7pizza.order HTTP attempts: 105 calls; p50 203 ms, p99 369 ms, max 369 ms. Log axis from 0.0301 ms to 816 ms.p99 369 ms
pizza.shop.local287,137287,00513213204,773.3pizza.shop.local HTTP attempts: 287,137 calls; p50 1.04 ms, p99 11.2 ms, max 1.09 s. Log axis from 0.0301 ms to 816 ms; 0.083% of calls fall outside it.p99 11.2 ms
pizza.tip137,487135,6951,7921,79212,4052,256.8pizza.tip HTTP attempts: 137,487 calls; p50 107 ms, p99 211 ms, max 478 ms. Log axis from 0.0301 ms to 816 ms.p99 211 ms
Logical calls, including explicit replays
One logical call includes discovery, retries, and backoff. Explicit replay checks are separate .replay calls. Latency histograms share one log axis from 0.0359 ms to 1.67 s.
Logical methodCallsCompletedFailedDuplicatesComplete / sLatency
pizza.claim9599590015.9pizza.claim logical calls: 959 calls; p50 94.2 ms, p99 268 ms, max 718 ms. Log axis from 0.0359 ms to 1.67 s.p99 268 ms
pizza.deliver9696001.6pizza.deliver logical calls: 96 calls; p50 113 ms, p99 448 ms, max 448 ms. Log axis from 0.0359 ms to 1.67 s.p99 448 ms
pizza.deliver.replay10100100.2pizza.deliver.replay logical calls: 10 calls; p50 82.7 ms, p99 203 ms, max 203 ms. Log axis from 0.0359 ms to 1.67 s.p99 203 ms
pizza.order9696001.6pizza.order logical calls: 96 calls; p50 203 ms, p99 264 ms, max 264 ms. Log axis from 0.0359 ms to 1.67 s.p99 264 ms
pizza.order.replay99090.1pizza.order.replay logical calls: 9 calls; p50 357 ms, p99 369 ms, max 369 ms. Log axis from 0.0359 ms to 1.67 s.p99 369 ms
pizza.shop.local287,005287,005004,773.3pizza.shop.local logical calls: 287,005 calls; p50 1.04 ms, p99 11.2 ms, max 1.09 s. Log axis from 0.0359 ms to 1.67 s.p99 11.2 ms
pizza.tip123,290123,290002,050.5pizza.tip logical calls: 123,290 calls; p50 108 ms, p99 215 ms, max 880 ms. Log axis from 0.0359 ms to 1.67 s.p99 215 ms
pizza.tip.replay12,40512,405012,405206.3pizza.tip.replay logical calls: 12,405 calls; p50 105 ms, p99 203 ms, max 880 ms. Log axis from 0.0359 ms to 1.67 s.p99 203 ms
Drain0.15 s · 1 HTTP attempts
Successful HTTP / s
6.7
Completed logical / s
6.7
HTTP failures
0
Logical failures
0

HTTP error categories: None recorded

Drain HTTP attempts. Latency histograms share one log axis from 1.92 ms to 25.6 ms; each line marks p99.
HTTP methodAttemptsSucceededFailedRetriesDuplicatesSuccess / sLatency
pizza.world110006.7pizza.world HTTP attempts: 1 call; p50 7.21 ms, p99 7.21 ms, max 7.21 ms. Log axis from 1.92 ms to 25.6 ms.p99 7.21 ms
Logical calls, including explicit replays
One logical call includes discovery, retries, and backoff. Explicit replay checks are separate .replay calls. Latency histograms share one log axis from 1.92 ms to 25.6 ms.
Logical methodCallsCompletedFailedDuplicatesComplete / sLatency
pizza.world11006.7pizza.world logical calls: 1 call; p50 7.28 ms, p99 7.28 ms, max 7.28 ms. Log axis from 1.92 ms to 25.6 ms.p99 7.28 ms
Audit0.04 s · 20 HTTP attempts
Successful HTTP / s
26.7
Completed logical / s
26.7
HTTP failures
19
Logical failures
19

HTTP error categories: HTTP_422 19

Audit HTTP attempts. Latency histograms share one log axis from 0.786 ms to 10.4 ms; each line marks p99.
HTTP methodAttemptsSucceededFailedRetriesDuplicatesSuccess / sLatency
pizza.deliver19019000.0pizza.deliver HTTP attempts: 19 calls; p50 1.53 ms, p99 2.18 ms, max 2.18 ms. Log axis from 0.786 ms to 10.4 ms.p99 2.18 ms
pizza.world1100026.7pizza.world HTTP attempts: 1 call; p50 6.97 ms, p99 6.97 ms, max 6.97 ms. Log axis from 0.786 ms to 10.4 ms.p99 6.97 ms
Logical calls, including explicit replays
One logical call includes discovery, retries, and backoff. Explicit replay checks are separate .replay calls. Latency histograms share one log axis from 0.786 ms to 10.4 ms.
Logical methodCallsCompletedFailedDuplicatesComplete / sLatency
pizza.deliver1901900.0pizza.deliver logical calls: 19 calls; p50 1.56 ms, p99 2.29 ms, max 2.29 ms. Log axis from 0.786 ms to 10.4 ms.p99 2.29 ms
pizza.world110026.7pizza.world logical calls: 1 call; p50 7.02 ms, p99 7.02 ms, max 7.02 ms. Log axis from 0.786 ms to 10.4 ms.p99 7.02 ms

From the oven to the doorstep

Business completion latency

Load and drain combined

Oven lateness96 samples

Oven lateness: 96 samples; p50 92.3 ms, p99 151 ms, max 151 ms. Log axis from 6.48 ms to 171 ms.10 ms20 ms50 ms100 ms6.95 ms–7.45 ms: 2.1% of samples (2)7.98 ms–8.56 ms: 1.0% of samples (1)8.56 ms–9.18 ms: 1.0% of samples (1)9.84 ms–10.5 ms: 1.0% of samples (1)10.5 ms–11.3 ms: 2.1% of samples (2)11.3 ms–12.1 ms: 3.1% of samples (3)12.1 ms–13 ms: 3.1% of samples (3)13.9 ms–14.9 ms: 6.3% of samples (6)14.9 ms–16 ms: 5.2% of samples (5)16 ms–17.2 ms: 3.1% of samples (3)17.2 ms–18.4 ms: 4.2% of samples (4)18.4 ms–19.7 ms: 5.2% of samples (5)28 ms–30 ms: 1.0% of samples (1)30 ms–32.2 ms: 4.2% of samples (4)34.5 ms–37 ms: 2.1% of samples (2)85.2 ms–91.4 ms: 3.1% of samples (3)91.4 ms–98 ms: 8.3% of samples (8)98 ms–105 ms: 13.5% of samples (13)105 ms–113 ms: 7.3% of samples (7)113 ms–121 ms: 8.3% of samples (8)121 ms–129 ms: 7.3% of samples (7)129 ms–139 ms: 6.3% of samples (6)149 ms–160 ms: 1.0% of samples (1)p50 92.3 msp99 151 ms

Order to door96 samples

Order to door: 96 samples; p50 4.17 s, p99 7.95 s, max 7.95 s. Log axis from 682 ms to 8.63 s.1 s2 s5 s717 ms–753 ms: 2.1% of samples (2)753 ms–792 ms: 1.0% of samples (1)875 ms–919 ms: 1.0% of samples (1)966 ms–1.02 s: 1.0% of samples (1)1.12 s–1.18 s: 2.1% of samples (2)1.44 s–1.51 s: 1.0% of samples (1)1.67 s–1.76 s: 4.2% of samples (4)1.84 s–1.94 s: 2.1% of samples (2)1.94 s–2.04 s: 1.0% of samples (1)2.25 s–2.37 s: 3.1% of samples (3)2.37 s–2.49 s: 2.1% of samples (2)2.49 s–2.61 s: 3.1% of samples (3)2.61 s–2.75 s: 2.1% of samples (2)2.75 s–2.89 s: 2.1% of samples (2)2.89 s–3.03 s: 1.0% of samples (1)3.03 s–3.19 s: 1.0% of samples (1)3.19 s–3.35 s: 3.1% of samples (3)3.35 s–3.52 s: 5.2% of samples (5)3.52 s–3.7 s: 4.2% of samples (4)3.7 s–3.89 s: 2.1% of samples (2)3.89 s–4.09 s: 4.2% of samples (4)4.09 s–4.3 s: 4.2% of samples (4)4.3 s–4.52 s: 3.1% of samples (3)4.52 s–4.75 s: 5.2% of samples (5)4.75 s–4.99 s: 3.1% of samples (3)4.99 s–5.24 s: 4.2% of samples (4)5.24 s–5.51 s: 4.2% of samples (4)5.51 s–5.79 s: 6.3% of samples (6)5.79 s–6.09 s: 1.0% of samples (1)6.09 s–6.4 s: 4.2% of samples (4)6.4 s–6.73 s: 4.2% of samples (4)6.73 s–7.07 s: 5.2% of samples (5)7.07 s–7.43 s: 4.2% of samples (4)7.81 s–8.21 s: 2.1% of samples (2)p50 4.17 sp99 7.95 s
Show as tables
Oven lateness: 96 samples, 0 invalid, 0 beyond 24 hours
LatencySamplesShareCumulative
6.95 ms–7.45 ms22.08%2.08%
7.98 ms–8.56 ms11.04%3.13%
8.56 ms–9.18 ms11.04%4.17%
9.84 ms–10.5 ms11.04%5.21%
10.5 ms–11.3 ms22.08%7.29%
11.3 ms–12.1 ms33.13%10.42%
12.1 ms–13 ms33.13%13.54%
13.9 ms–14.9 ms66.25%19.79%
14.9 ms–16 ms55.21%25.00%
16 ms–17.2 ms33.13%28.13%
17.2 ms–18.4 ms44.17%32.29%
18.4 ms–19.7 ms55.21%37.50%
28 ms–30 ms11.04%38.54%
30 ms–32.2 ms44.17%42.71%
34.5 ms–37 ms22.08%44.79%
85.2 ms–91.4 ms33.13%47.92%
91.4 ms–98 ms88.33%56.25%
98 ms–105 ms1313.54%69.79%
105 ms–113 ms77.29%77.08%
113 ms–121 ms88.33%85.42%
121 ms–129 ms77.29%92.71%
129 ms–139 ms66.25%98.96%
149 ms–160 ms11.04%100%
Order to door: 96 samples, 0 invalid, 0 beyond 24 hours
LatencySamplesShareCumulative
717 ms–753 ms22.08%2.08%
753 ms–792 ms11.04%3.13%
875 ms–919 ms11.04%4.17%
966 ms–1.02 s11.04%5.21%
1.12 s–1.18 s22.08%7.29%
1.44 s–1.51 s11.04%8.33%
1.67 s–1.76 s44.17%12.50%
1.84 s–1.94 s22.08%14.58%
1.94 s–2.04 s11.04%15.63%
2.25 s–2.37 s33.13%18.75%
2.37 s–2.49 s22.08%20.83%
2.49 s–2.61 s33.13%23.96%
2.61 s–2.75 s22.08%26.04%
2.75 s–2.89 s22.08%28.13%
2.89 s–3.03 s11.04%29.17%
3.03 s–3.19 s11.04%30.21%
3.19 s–3.35 s33.13%33.33%
3.35 s–3.52 s55.21%38.54%
3.52 s–3.7 s44.17%42.71%
3.7 s–3.89 s22.08%44.79%
3.89 s–4.09 s44.17%48.96%
4.09 s–4.3 s44.17%53.13%
4.3 s–4.52 s33.13%56.25%
4.52 s–4.75 s55.21%61.46%
4.75 s–4.99 s33.13%64.58%
4.99 s–5.24 s44.17%68.75%
5.24 s–5.51 s44.17%72.92%
5.51 s–5.79 s66.25%79.17%
5.79 s–6.09 s11.04%80.21%
6.09 s–6.4 s44.17%84.38%
6.4 s–6.73 s44.17%88.54%
6.73 s–7.07 s55.21%93.75%
7.07 s–7.43 s44.17%97.92%
7.81 s–8.21 s22.08%100%
Configured oven delay
250.0 ms
Configured lease duration
2,000.0 ms
Delivered orders / s, including drain
1.6
Retained order cap
96

Oven lateness measures how far execution runs past the requested deadline. It does not include the configured baking delay. Order-to-door latency includes the entire lifecycle. Each log time axis spans its population's p0.1 to p99.9; the tables list every bin.

The goblin ledger

Business invariants & tenant rankings

Audit passed
96 of 96 acknowledged orders delivered. The independent audit found no invariant violations.
Scores are revenue plus tips, in integer copper coins. Rows follow each tenant’s independently derived leaderboard; this is not a global ranking.
Tenant / kitchenOrdersPizzas deliveredStock leftRevenueTipsScore
tenant-12 / The Crispy Cauldron · store-042106288742104,801105,543
tenant-12 / Mushroom Mayhem · store-126388426,3196,361
tenant-12 / The Sizzling Slime · store-237387496,2256,274
tenant-12 / Dough or Die · store-31139376,0166,023
tenant-13 / The Goblin's Slice · store-041110284770104,948105,718
tenant-13 / The Crispy Cauldron · store-21139376,3366,343
tenant-13 / Dragon Breath Delivery · store-16153791056,1276,232
tenant-13 / Mushroom Mayhem · store-30039406,0556,055

A dragon ate the leader

Failover, leases & replay safety

3 Raft replicas · one group

Leader crash 1

2026-09-25 05:45:22 UTC
Crash recovery: leader 1 killed; serving quorum after 592.9 ms; restarted node caught up after 2,742.1 ms. Both durations are measured from the crash.Leader 1 killed0.0 msQuorum serving; leader 2592.9 msRestarted node caught up2,742.1 ms
Recovery observations, all measured from the leader crash
Recovery milestoneTime since crash
Candidate observed in metrics510.9 ms
Leader observed in metrics537.5 ms
Quorum read probe completed592.8 ms
Leader discovery returned592.9 ms
Restarted node caught up2,742.1 ms

Metrics observations follow polling and are not exact internal transition times. A brief candidate state can be missed; observing a leader alone does not establish a serving quorum. Missing milestones were not recorded or did not finish. Recovery and catch-up durations share the crash as time zero.

Receipt replays verified
12,424
Stale drones rejected by audit
19
Leases claimed
115
Empty claims
844
Deliberately abandoned leases
19
Reclaimed jobs
19
Lease losses during workload
0
Orders issued
96
End-of-run replica observations, collected separately. These are replicas of one Raft group, not independent shards.
ReplicaObserved roleObserved leaderLast applied index
Node 1Follower21,118
Node 2Leader21,118
Node 3Follower21,118

The cost of a pizza rush

Resource footprint

Co-located processes

Sampled peak resident memory

Sampled peak resident memory by processPeak observed resident memory per server and benchmark driver. Samples can miss brief peaks; per-process peaks need not occur together. Node 1: Peak sampled RSS 302.3 MiB. Node 2: Peak sampled RSS 307.3 MiB. Node 3: Peak sampled RSS 287.2 MiB. Driver: Peak sampled RSS 406.4 MiB0102203305406Node 1 · Peak sampled RSS: 302.3 MiBNode 1Node 2 · Peak sampled RSS: 307.3 MiBNode 2Node 3 · Peak sampled RSS: 287.2 MiBNode 3Driver · Peak sampled RSS: 406.4 MiBDriver
Peak sampled RSSMiB · linear scale
Cluster disk footprint
137.75 MiB
Node controller sampled load cores
0.05
Node controller CPU, user / entire run
3,939.2 ms
Node controller CPU, system / entire run
540.2 ms
Node controller event-loop delay p99
51.7 ms
Node controller sampled peak RSS
406.4 MiB
Rust customer driver peak RSS
20.6 MiB
Rust customer driver sampled load cores
0.13

RSS is sampled, not an allocation total. Server CPU, when available, uses cumulative process CPU deltas over sampled load intervals; one core means one CPU-second per elapsed second. Restart and phase-boundary gaps are excluded. Older reports did not measure it. The load generator and all nodes share the same host, so these numbers include local resource contention and do not establish multi-host network performance.

CPU observations during load; node coverage can differ. Includes all process threads.
ServerMean CPU coresCPU time coveredWall time coveredIntervals
10.3922,570.0 ms57,254.6 ms57
20.4325,460.0 ms59,254.7 ms59
30.137,940.0 ms59,254.7 ms59

Make the result reproducible

Workload, host & measurement limits

Report schema 1

Workload configuration

Application transport
HTTP/2 · h2c prior knowledge
Admin and discovery transport
HTTP/1.1
Query routing
Round-robin across live replicas
Customer read policy
Replica-local · lag allowed
Bundle initialization
static
Customer loops / drone loops
256 / 4
Requested load / warmup
60.0 s / 1.0 s
Maximum drain
60.0 s
Tenants / stores per tenant
2 / 4
Hot stores per tenant
1
Hot-set mixture weight
80%
Duplicate / abandonment probability
10% / 10%
Worker polling interval
150.0 ms
Request timeout / retry budget
2,000.0 ms / 15,000.0 ms
Workload seed
42:group-6
Crash injection requested
Yes

Execution environment

JavaScript engine
quickjs
Runtime settings
{"TOKIO_WORKER_THREADS":"2","FLOWER_WRITER_BATCH_MODE":"adaptive","FLOWER_WRITER_QUEUE_CAPACITY":"1024","FLOWER_QUERY_WORKERS":"16","FLOWER_PREPARATION_WORKERS":"16","FLOWER_WRITER_PREPARATION_WORKERS":"1","FLOWER_WRITER_WINDOW_MS":"50","FLOWER_WRITER_BATCH_MS":"50"}
CPU
Apple M5 Pro
Logical CPUs
18
Operating system
darwin 27.2.0
Architecture
arm64
Node.js controller
v26.10.0
Customer driver
rust
Customer driver SHA-256
b3ce2a3e598826cd14bf319d0f65cee7a47b3b3822b7474bd1b987d2d5808e7f
Co-located database nodes
3
Binary SHA-256
a53ad2ae79f74da0f9ddf5d79a2450beebd0efb0e7e00f0cdfcd70929f34d35d
Binary size
45,119,536 bytes
Started
2026-09-25 05:44:47 UTC
Finished
2026-09-25 05:45:53 UTC
Preserved database files
Not retained

How to read these numbers

Complete run options and bundle identity
{
  "options": {
    "offeredRate": 0,
    "groups": 1,
    "tenants": 2,
    "duration": 60,
    "warmup": 1,
    "drain": 60,
    "concurrency": 256,
    "workers": 4,
    "shops": 4,
    "hotShops": 1,
    "hotProbability": 0.8,
    "maxOrders": 96,
    "bakeMs": 250,
    "leaseMs": 2000,
    "duplicateRate": 0.1,
    "abandonRate": 0.1,
    "pollMs": 150,
    "requestTimeoutMs": 2000,
    "retryBudgetMs": 15000,
    "nodes": 3,
    "seed": "42:group-6",
    "initialization": "static",
    "queryRouting": "replicas",
    "readConsistency": "replica-local",
    "driver": "rust",
    "driverBinary": "/Users/pcarrier/src/flower/target/release/flower-bench-driver",
    "binary": "/Users/pcarrier/src/flower/target/release/flower",
    "json": "/Users/pcarrier/src/flower/bench/results/latest-groups/group-6.json",
    "html": "/Users/pcarrier/src/flower/bench/results/latest-groups/group-6.html",
    "baseline": null,
    "cpuProfile": null,
    "chaos": true,
    "http2": true,
    "keepData": false,
    "help": false,
    "runId": "d4e5cf27-0a78-41ed-850e-68ccdca97756",
    "tenantIds": [
      "tenant-12",
      "tenant-13"
    ]
  },
  "runtime": {
    "engine": "quickjs",
    "settings": {
      "TOKIO_WORKER_THREADS": "2",
      "FLOWER_WRITER_BATCH_MODE": "adaptive",
      "FLOWER_WRITER_QUEUE_CAPACITY": "1024",
      "FLOWER_QUERY_WORKERS": "16",
      "FLOWER_PREPARATION_WORKERS": "16",
      "FLOWER_WRITER_PREPARATION_WORKERS": "1",
      "FLOWER_WRITER_WINDOW_MS": "50",
      "FLOWER_WRITER_BATCH_MS": "50"
    }
  },
  "queryRouting": {
    "mode": "replicas",
    "consistency": "replica-local",
    "auditConsistency": "fresh",
    "nodes": [
      {
        "id": 1,
        "url": "http://127.0.0.1:62806",
        "attempts": 97194,
        "completed": 97062,
        "failures": 132
      },
      {
        "id": 2,
        "url": "http://127.0.0.1:62817",
        "attempts": 100781,
        "completed": 100781,
        "failures": 0
      },
      {
        "id": 3,
        "url": "http://127.0.0.1:62820",
        "attempts": 100780,
        "completed": 100780,
        "failures": 0
      }
    ]
  },
  "binary": {
    "path": "/Users/pcarrier/src/flower/target/release/flower",
    "sha256": "a53ad2ae79f74da0f9ddf5d79a2450beebd0efb0e7e00f0cdfcd70929f34d35d",
    "bytes": 45119536,
    "modifiedAt": "2026-09-25T05:16:03.202Z"
  },
  "driver": {
    "kind": "rust",
    "orchestration": "node",
    "binary": {
      "path": "/Users/pcarrier/src/flower/target/release/flower-bench-driver",
      "sha256": "b3ce2a3e598826cd14bf319d0f65cee7a47b3b3822b7474bd1b987d2d5808e7f",
      "bytes": 7136160,
      "modifiedAt": "2026-09-25T05:15:43.417Z"
    },
    "warmupRequests": 3
  },
  "bundleHash": "d3b5c3e6fa9e51548200e79cde504fc967a5d7100a49af12a43f27560721ad64"
}

When the oven smokes

Diagnostics

0 unexpected failures

No unexpected failure details were recorded. Intentional stale-lease rejections and retried HTTP failures are reported in their own counters.