Find how many TCP connections a host can hold and whether memory, ports or the table is the limit.
Three independent ceilings apply at once, and the smallest wins. Client-side sockets are usually port-bound because the local port range is shared, while server-side sockets are memory- or table-bound because they all land on one listening port. Knowing which ceiling binds tells you what to fix: adding RAM does nothing if you are out of ephemeral ports, and widening the port range does nothing if conntrack is full.
Connection Capacity
capacity = min(memory ÷ per-connection memory, ports × destinations, table limit).
capacity = min(memory ÷ per-connection memory, ports × destinations, table limit). Three independent ceilings apply at once, and the smallest wins. Client-side sockets are usually port-bound because the local port range is shared, while server-side sockets are memory- or table-bound because they all land on one listening port.
Knowing which ceiling binds tells you what to fix: adding RAM does nothing if you are out of ephemeral ports, and widening the port range does nothing if conntrack is full.
This calculator takes 5 inputs: Memory available for connections, Memory per connection, Ephemeral port range size, Distinct destination endpoints, Connection / conntrack table limit. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
A connection is identified by the full 4-tuple, so the same local port may be reused against a different destination IP or port. Fanning traffic across more backend endpoints multiplies the number of outbound connections a client can open.