Throughput Ceiling Calculator

See why one TCP flow is slower than your link. Enter RTT, packet loss, MTU and window size to find the real ceiling and what limits it.

Advertisement

A single TCP connection rarely fills a fast link. Its speed is held down by the round-trip time, by any packet loss, and by the size of the receive window. This calculator takes your round-trip time, loss rate, MTU and, optionally, a fixed receive window, and works out the ceiling for one flow. It compares three limits (the link speed, the window limit of window divided by round-trip time, and the loss limit from the Mathis equation) and names the one that applies.

The loss limit uses the Mathis model, which estimates steady-state TCP throughput as the maximum segment size divided by the round-trip time, multiplied by 1.22 and divided by the square root of the loss rate. For example, with a 150 ms round trip, 0.1% loss and a 1500-byte MTU, one flow tops out near 3 Mbps, however fast the link is. A sensitivity table shows how the ceiling moves as loss and round-trip time change, so you can see whether fixing loss or shortening the path helps more.

Use it to explain slow single-stream transfers over long distances, to decide whether more bandwidth will help, and to judge whether parallel streams or a different congestion control algorithm is worth trying. The Mathis model is an approximation. Modern congestion control such as CUBIC and BBR can behave differently, so check the result against a real measurement.

What limits a single TCP connection

One TCP connection is held back by whichever of three limits is lowest.

  • The link. Nothing can go faster than the line rate, less header overhead.
  • The receive window. The sender can only have one window of data in flight per round trip, so throughput cannot exceed the window divided by the round-trip time. A 64 KB window on a 100 ms path caps out at about 5.2 Mbps, whatever the link speed.
  • Packet loss. TCP slows down when it sees loss. The Mathis equation estimates the steady-state rate as (MSS ÷ RTT) × (1.22 ÷ √loss), where MSS is the MTU minus 40 bytes of IP and TCP headers.

With a 150 ms round trip, 0.1% loss and a 1500-byte MTU, one connection tops out near 3 Mbps on a 1 Gbps link. The calculator shows all three limits side by side and names the one that applies.

How to raise the ceiling

Match the fix to the limiter.

  • Loss-limited: find and fix the loss first. Check Wi-Fi interference, duplex mismatches, errors on switch ports and congested hops. Halving the loss does not double the speed, but cutting it by a factor of four does.
  • Window-limited: make sure window scaling is on and that socket buffers are large enough for the bandwidth-delay product. The TCP window calculator on this site shows the buffer size to aim for.
  • Distance-limited: a shorter round trip raises both the window and the loss ceilings. Moving a server closer to users, or using a CDN, helps more than extra bandwidth.
  • Any limiter: several parallel connections each get their own ceiling, so they can add up until the link or a shared bottleneck is full. Newer congestion control such as BBR can also behave better than classic loss-based algorithms on lossy long paths.

Reading the sensitivity table

The table below the result shows the ceiling as loss and round-trip time change around your inputs. Look for the row where the ceiling crosses your link speed. That tells you how much loss or delay you can tolerate before the connection stops filling the link, and whether reducing loss or shortening the path gets you there faster.

Frequently Asked Questions

Why is one download slower than my internet speed?+

A single TCP connection is limited by the round-trip time, packet loss and the receive window, not just by the link. On long paths or lossy links one connection can use only a small share of a fast line. Enter your round-trip time and loss rate to see the ceiling for one flow.

What is the Mathis equation?+

It estimates the steady-state throughput of a loss-limited TCP connection as (MSS ÷ RTT) × (1.22 ÷ √p), where p is the packet loss rate. It shows why loss and distance together cut speed so sharply: doubling the round-trip time halves the ceiling, and loss matters in proportion to its square root.

How much does packet loss affect TCP speed?+

At a 50 ms round trip and a 1460-byte MSS, 1% loss limits one connection to about 2.8 Mbps, 0.1% to about 9 Mbps, and 0.01% to about 28 Mbps. Even small loss rates matter on a fast link.

What MSS does the calculator use?+

It takes the MTU you enter and subtracts 40 bytes for the IPv4 and TCP headers, so a 1500-byte MTU gives an MSS of 1460. If your path uses a tunnel, find the effective MTU first with the MTU calculator.

Does the Mathis model apply to BBR or QUIC?+

It models classic loss-based TCP such as Reno. CUBIC and BBR respond to loss differently, and BBR in particular is less sensitive to random loss, so treat the result as a guide and confirm with a real measurement. QUIC with a loss-based congestion controller behaves similarly to TCP.

Will running several connections in parallel help?+

Often yes. Each connection has its own ceiling, so downloads split across several connections can add up to much more, until the link itself or a shared bottleneck is the limit. This is why download managers and some transfer tools open multiple streams.

Related tools

This tool is provided for informational and educational purposes only. All processing happens in your browser — no data is sent to or stored on our servers. While we strive for accuracy, we make no warranties about the completeness or reliability of results.