Surefold

Petshop benchmark recording

Petshop, ramped to 50,000 requests a second.

One Proofload run against the petshop demo, second by second. The schedule 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, or open the data table below. This run refused arrivals and does not establish sustained capacity.

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
Recorded requests and service-time percentiles per second
SecondAskedAnsweredRefusedFailedp50 msp99 msIn 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
Environment
Shop, Postgres and generator shared one laptop. The supplied recording does not include its exact CPU, OS, JVM flags or library revisions.
Baseline
No comparison baseline or repeated runs are included in this recording.
Measurement
The chart shows service time from send to response, not response time including departure lateness. Per-second p99 values are not a whole-run p99.
Write workload
The catalogue is finite; the mixed workload is not a sustained database-write benchmark. The linked write-up explains the adoption workload.
Raw data
Download the recorded series (JSON). Scheduled rates in the ramp are point values; answered counts cover a second, so they can exceed the displayed rate.
Source
HeavyTraffic.kt and the write-up of related runs. Those runs are not identified as this recording