Benchmarks
Petshop, ramped to 50,000 requests a second.
One Proofload run against the petshop demo, second by second. It ramps from 100 to 50,000 arrivals a second over a minute, then holds there for a minute. Hover any chart to read every series at that second.
How to read it. Arrivals are open model: each departs on schedule whether or not earlier ones were answered. Proofload lets at most be in flight. An arrival due while that many are waiting is refused by the generator: never sent, and counted apart from the shop's failures. So a refusal is the test running out of room, not the shop saying no.
Requests a second
What the schedule asked for, what the shop answered, and what the generator had to refuse.
Latency
Median and 99th percentile service time of the requests answered in each second, in milliseconds.
In flight
Requests sent and not yet answered at the end of each second, against the generator's cap.
Every second as a table
| Second | Asked | Answered | Refused | Failed | p50 ms | p99 ms | In flight |
|---|
The run
- Recorded
- Scenario
- 74%
GET /pets/{id}, 25%GET /pets, 1%POST /pets/{id}/adoption - Profile
- Ramp 100 to 50,000 a second over 60 s, hold 60 s
- Machine
- One laptop running the shop, Postgres and the load generator together
- Source
- HeavyTraffic.kt and the write-up