Skip to content
Calcrivo

TCP Slow Start Calculator

Track how the congestion window doubles each round trip during slow start and when it reaches ssthresh.

Inputs

segments
bytes
ms
RTTs
segments

Congestion Window After N Rounds

160segments

Congestion Window In Bytes

228 KiB

Round Trips To Reach ssthresh

3

Time To Reach ssthresh

90ms

Throughput At That Window

62.29Mbit/s

Step by step

  1. Values used

    Initial congestion window = 10 segments; Maximum segment size = 1,460 bytes; Round-trip time = 30 ms; Round trips elapsed = 4 RTTs; Slow start threshold = 64 segments

  2. TCP Slow Start

    cwnd = initial × 2^rounds, and rounds to ssthresh = ceil(log2(ssthresh ÷ initial)).

  3. Congestion Window After N Rounds

    = 160 segments

  4. Congestion Window In Bytes

    = 233,600

  5. Round Trips To Reach ssthresh

    = 3

  6. Time To Reach ssthresh

    = 90 ms

  7. Throughput At That Window

    = 62.29 Mbit/s

How it works

Slow start acknowledges one window and sends two, so the congestion window doubles every round trip — exponential growth in time, measured in RTTs rather than seconds. Once cwnd reaches ssthresh the stack switches to congestion avoidance and adds roughly one segment per RTT instead. Short HTTP responses never leave slow start, so the initial window and the RTT — not the link speed — decide how fast a page loads over a long path.

Formula

TCP Slow Start

cwnd = initial × 2^rounds, and rounds to ssthresh = ceil(log2(ssthresh ÷ initial)).

initial
Initial window in segments (IW10 on most modern stacks)
rounds
Number of round trips completed
ssthresh
Slow start threshold where growth turns linear

Frequently Asked Questions

How is TCP Slow Start calculated?

cwnd = initial × 2^rounds, and rounds to ssthresh = ceil(log2(ssthresh ÷ initial)). Slow start acknowledges one window and sends two, so the congestion window doubles every round trip — exponential growth in time, measured in RTTs rather than seconds. Once cwnd reaches ssthresh the stack switches to congestion avoidance and adds roughly one segment per RTT instead.

Why does TCP Slow Start matter?

Short HTTP responses never leave slow start, so the initial window and the RTT — not the link speed — decide how fast a page loads over a long path.

What values do I need to enter?

This calculator takes 5 inputs: Initial congestion window, Maximum segment size, Round-trip time, Round trips elapsed, Slow start threshold. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

You might also need