Feel the cart.
Measure the wire.
Compare serialization or browser transports across realistic catalog writes, product detail reads, and full-text searches through one Worker and one D1 database.
Benchmark architecture
Serialization mode keeps REST fixed while formats change. Transport mode fixes Protobuf while REST, gRPC-Web, and a warm WebSocket execute the same validated D1 action.
Worker endpoint
Study design
Live run
Choose one study mode, validate the Worker, and start a controlled ecommerce run.
Latency board
Run a study to populate action latency, actual protocol, payload, and error distributions.
Results stay local in this browser until you export them.
| Ecommerce action | Variant | Actual protocol | Success / n | p50 | p95 | p99 | Action/s | D1 SQL p50 | App payload | WS handshake p50 | Errors |
|---|
What this measures
Serialization results cover encode through decoded response. Transport results fix Protobuf and compare REST, gRPC-Web, and warm WebSocket messages against the same ecommerce action.
- Choose one question. Serialization varies formats; Transport varies stacks.
- Validate the wire. Results are grouped by actual H2, H3, or WebSocket opening protocol.
- Separate setup. WebSocket handshake time is reported outside warm message RTT.
- Raise sample count. Use 1,000+ samples before trusting p99.
- Keep conditions fixed. Do not mix browsers, network paths, replication, or regions.
gRPC-Web is not native gRPC. CBOR is not PostgreSQL JSONB. H2/H3 cannot be selected by page JavaScript, so required-protocol fallbacks remain visible as errors.