| proxy | max sustained req/s | p50 @ 2k | p99 @ 2k | peak mem | status |
|---|---|---|---|---|---|
| zoxy0.0.9 @b29f3b5ed | 52.2591k | 0.41ms | 2.32ms | 75.1MiB | ok |
| nginx1.27 | 21.3109k | 0.46ms | 3.62ms | 57.2MiB | ok |
| haproxy3.0.26 | 19.6562k | 0.44ms | 1.27ms | 74.2MiB | ok |
| pingora0.8 | 12.379k | 0.46ms | 1.87ms | 53.1MiB | ok |
| envoy— | 8.0277k | 0.57ms | 3.81ms | 72.1MiB | ok |
open-loop ramp; dashed gray = perfect keep-up
container cores sampled from cAdvisor at 1Hz, on the ramp's own clock
per-window tail (log scale); each line stops where that proxy stops keeping up
offered load the proxy couldn't serve (1 − achieved/offered); the first few seconds include the generator's own ramp-up shortfall, which is not the proxy's
latency by percentile · raw zoxy.hgrm
latency by percentile · saturated at 60s — tail percentiles are a floor, not a value · raw haproxy.hgrm
latency by percentile · saturated at 60s — tail percentiles are a floor, not a value · raw nginx.hgrm
latency by percentile · saturated at 60s — tail percentiles are a floor, not a value · raw pingora.hgrm
latency by percentile · saturated at 60s — tail percentiles are a floor, not a value · raw envoy.hgrm