Table of Contents
Formula for TCP Performance/Latency/Window Size
Formula
| Bits-per-second-throughput = TCP-Window-Size-in-bits / Latency-in-seconds |
| Optimal TCP window size in bytes = Bandwidth-in-bits-per-second * Round-trip-latency-in-seconds = TCP window size in bits / 8 |
| Maximum Latency for a desired throughput =TCP-window-size-bits / Desired-throughput-in-bits-per-second = Maximum RTT Latency |
Example of TCP Performance
Suppose Windows size is 64K bytes, and its round trip latency is 0.03 seconds, then:
1 Gbps Link Rate
Server <---------------------------------> Client
Round Rrip Latency is 0.03
TCP throughput of 1 flow = 64K bytes/0.03 seconds = 65536 Bytes/0.03 = 65536 * 8 bits/0.03 = 17.4 Mbps
Example of optimal Windows Size
Suppose 1 TCP Flow throughput is 1 Gbps with 30 milliseconds round trip latency:
Windows Size = 1,000,000,000 bps * 0.030 seconds = 30,000,000 bits / 8 = 3,750,000 Bytes
Example of Round Trip Latency
You might want to achieve 10 Gbps FTP throughput between two servers using standard 64KB TCP window sizes. What is the maximum latency you can have between these two servers to achieve 10 Gbps?
TCP-window-size-bits / Desired-throughput-in-bits-per-second = Maximum RTT Latency
Maximum RTT Latency = 64K bytes/10 Gbps = 524288 bits / 10,000,000,000 bits per second = 52.4 microseconds
