Skip to main content

benchmark

greyproxy benchmark – runs 2/3/4

All latencies in ms. Run 4 = no conversation tracking.

ScenarioModeRunTTFB p50TTFB p95Total p50Total p95ErrorsTput (req/s)
smalldirect20.140.270.400.540100.0
smalldirect30.190.340.450.630100.0
smallproxy22.683.423.504.280100.0
smallproxy33.084.053.944.94299.9
smallproxy4 no-conv3.084.273.935.160100.0
mediumdirect20.200.354.355.510100.0
mediumdirect30.230.374.425.570100.0
mediumproxy23.554.6016.2118.3311096.3
mediumproxy33.644.5116.3818.7411396.2
mediumproxy4 no-conv3.514.4416.1018.207997.3
largedirect21.442.1026.1828.95099.9
largedirect31.401.9325.9528.92099.9
largeproxy26.018.9775.1585.4570076.5
largeproxy35.788.5375.5885.7766577.7
largeproxy4 no-conv5.507.5970.0879.4160379.8

Key takeaways:

  • TTFB overhead is ~2.5-3.5ms constant across payload sizes (proxy processing cost)
  • Total latency overhead scales with body size — points to body buffering in the hot path
  • Error rates: 0% small, ~3.7% medium, ~20-23% large — all at 100 req/s
  • Disabling conversation tracking helped medium errors (-30%) and large latency (-7%) but is not the primary bottleneck
  • Large payload errors remain ~20% even without conversation tracking — body copy path is the likely culprit