You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: templates/keynote-2/DEVELOP.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -264,6 +264,8 @@ Notes:
264
264
265
265
-`--warmup-seconds` is the unmeasured warmup period. Generators submit requests during warmup, but those transactions are excluded from TPS.
266
266
-`--window-seconds` is the measured interval.
267
+
-`--pipelined 1` enables request pipelining. Omit it or pass `--pipelined 0` to stay in closed-loop mode, one request at a time.
268
+
-`--max-inflight-per-connection` caps the number of in-flight requests each connection may have when pipelining is enabled. The default is `8`.
267
269
-`--verify 1` preserves the existing benchmark semantics by running one verification pass centrally after the epoch completes.
268
270
- The coordinator derives the HTTP metrics endpoint from `--stdb-url` by switching to `http://` or `https://` and appending `/v1/metrics`.
269
271
- For a real multi-machine run, change `--bind 127.0.0.1` to `--bind 0.0.0.0` so remote generators can reach the coordinator.
@@ -351,6 +353,7 @@ The result contains:
351
353
352
354
- participating generator IDs
353
355
- total participating connections
356
+
- whether the epoch used closed-loop or pipelined load, and the per-connection in-flight cap
354
357
- committed transaction delta from the server metrics endpoint
355
358
- measured window duration
356
359
- computed TPS
@@ -361,7 +364,7 @@ The result contains:
361
364
- Start the coordinator before the generators.
362
365
- Generators begin submitting requests when the coordinator enters `warmup`, not when the measured window begins.
363
366
- Throughput is measured only from the committed transaction counter delta recorded after warmup, so warmup transactions are excluded.
364
-
-For this distributed TypeScript mode, each connection runs closed-loop with one request at a time. There is no pipelining in this flow.
367
+
-Distributed TypeScript mode defaults to closed-loop, one request at a time per connection. Enable pipelining on the coordinator with `--pipelined 1`, and all generators will follow that setting for the epoch.
365
368
- Late generators are allowed to register and become ready while an epoch is already running, but they only participate in the next epoch.
366
369
- The coordinator does not use heartbeats. It includes generators that most recently reported `ready`.
367
370
- If a participating generator dies and never sends `/stopped`, the epoch result is written with an `error`, and that generator remains `running` in coordinator status until you restart it and let it register again.
Copy file name to clipboardExpand all lines: templates/keynote-2/README.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -149,6 +149,7 @@ This architectural difference means SpacetimeDB can execute transactions in micr
149
149
### Client Pipelining
150
150
151
151
The benchmark supports **pipelining** for all clients - sending multiple requests without waiting for responses. This maximizes throughput by keeping connections saturated.
152
+
The distributed TypeScript SpacetimeDB flow also supports coordinator-controlled pipelining via `bench-dist-coordinator -- --pipelined 1`, with `--max-inflight-per-connection` to cap outstanding requests per connection.
0 commit comments