| proxy | max sustained req/s | p50 @ 2k | p99 @ 2k | peak mem | status |
|---|---|---|---|---|---|
| zoxy0.9.0 @935a2f349 | 23.7339k | 0.45ms | 1.21ms | 173.4MiB | ok |
| haproxy3.4.6 | 16.0431k | 0.47ms | 1.66ms | 100.1MiB | ok |
| nginx1.31 | 15.2835k | 0.49ms | 1.34ms | 69.9MiB | ok |
| pingora0.8 | 10.4232k | 0.50ms | 2.31ms | 63.6MiB | ok |
| envoy— | 7.4791k | 0.59ms | 2.46ms | 93.0MiB | 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 · saturated at 60s — tail percentiles are a floor, not a value · 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