Turn user counts into forward-proxy request rate, throughput, upstream bandwidth saved by caching and concurrent connections.
Convert hourly request volume into a per-second average, apply a busy-hour peak factor, then multiply by object size for throughput. Concurrency comes from Little's law — requests per second multiplied by how long each one is held open — which is what actually determines file-descriptor and socket limits. Proxies are usually sized on bandwidth and then fall over on concurrent connections, because a slow upstream inflates response time and therefore concurrency without changing the request rate at all.
Proxy Throughput
peak rps = users × requests per hour ÷ 3600 × peak factor; concurrency = peak rps × average response time (Little's law).
peak rps = users × requests per hour ÷ 3600 × peak factor; concurrency = peak rps × average response time (Little's law). Convert hourly request volume into a per-second average, apply a busy-hour peak factor, then multiply by object size for throughput. Concurrency comes from Little's law — requests per second multiplied by how long each one is held open — which is what actually determines file-descriptor and socket limits.
Proxies are usually sized on bandwidth and then fall over on concurrent connections, because a slow upstream inflates response time and therefore concurrency without changing the request rate at all.
This calculator takes 6 inputs: Active users, Requests per user per hour, Average object size, Peak-to-average factor, Cache hit ratio, Average response time. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Almost all web content is now TLS-encrypted and personalised, and cache-control headers on dynamic responses forbid storage. Without full TLS interception a forward proxy can cache very little, so 20–35% byte hit ratio is realistic and the proxy's value is policy enforcement and inspection rather than bandwidth saving.