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
@@ -262,6 +262,8 @@ Notes:
262
262
263
263
-`--warmup-seconds` is the unmeasured warmup period. Generators submit requests during warmup, but those transactions are excluded from TPS.
264
264
-`--window-seconds` is the measured interval.
265
+
-`--pipelined 1` enables request pipelining. Omit it or pass `--pipelined 0` to stay in closed-loop mode, one request at a time.
266
+
-`--max-inflight-per-connection` caps the number of in-flight requests each connection may have when pipelining is enabled. The default is `8`.
265
267
-`--verify 1` preserves the existing benchmark semantics by running one verification pass centrally after the epoch completes.
266
268
- The coordinator derives the HTTP metrics endpoint from `--stdb-url` by switching to `http://` or `https://` and appending `/v1/metrics`.
267
269
- 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.
@@ -349,6 +351,7 @@ The result contains:
349
351
350
352
- participating generator IDs
351
353
- total participating connections
354
+
- whether the epoch used closed-loop or pipelined load, and the per-connection in-flight cap
352
355
- committed transaction delta from the server metrics endpoint
353
356
- measured window duration
354
357
- computed TPS
@@ -359,7 +362,7 @@ The result contains:
359
362
- Start the coordinator before the generators.
360
363
- Generators begin submitting requests when the coordinator enters `warmup`, not when the measured window begins.
361
364
- Throughput is measured only from the committed transaction counter delta recorded after warmup, so warmup transactions are excluded.
362
-
-For this distributed TypeScript mode, each connection runs closed-loop with one request at a time. There is no pipelining in this flow.
365
+
-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.
363
366
- Late generators are allowed to register and become ready while an epoch is already running, but they only participate in the next epoch.
364
367
- The coordinator does not use heartbeats. It includes generators that most recently reported `ready`.
365
368
- 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
@@ -148,6 +148,7 @@ This architectural difference means SpacetimeDB can execute transactions in micr
148
148
### Client Pipelining
149
149
150
150
The benchmark supports **pipelining** for all clients - sending multiple requests without waiting for responses. This maximizes throughput by keeping connections saturated.
151
+
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