Throughput Optimization
[!NOTE] This module explores the core principles of Throughput Optimization, deriving solutions from first principles and hardware constraints to build world-class, production-ready expertise.
1. Bandwidth vs. Throughput vs. Goodput
- Bandwidth: The theoretical maximum speed of the physical link (e.g., a “1 Gbps” cable).
- Throughput: The actual amount of data successfully transferred per unit of time. (Always \le Bandwidth).
- Goodput: The amount of useful application data transferred (Header overhead and retransmissions are excluded).
2. Factors Limiting Throughput
- Protocol Overhead: Every packet carries headers (Ethernet, IP, TCP).
- Congestion: Routers dropping packets forces retransmissions.
- BDP (Bandwidth-Delay Product): The “volume” of the pipe (Bandwidth \times RTT). If your TCP window size is smaller than the BDP, you are underutilizing the link.
- Hardware Bottlenecks: A slow CPU in a router or a slow NIC can’t process packets fast enough.
3. Optimization Techniques
TCP Window Scaling
Standard TCP has a maximum 64KB window. On high-speed, long-distance links (High BDP), this is too small. Window Scaling allows the window to grow up to 1GB, keeping the pipe full.
MTU Optimization (Jumbo Frames)
Standard Ethernet has a 1500-byte MTU. Jumbo Frames support up to 9000 bytes.
- Pros: Fewer headers, less CPU processing per byte.
- Cons: All devices in the path must support it, otherwise packets are fragmented or dropped.
4. Interactive: Throughput calculator
See how overhead and latency eat your speed.
Physical Bandwidth:
1000 Mbps
Protocol Overhead:
-5% (Headers)
Packet Loss:
Expected Throughput
950 Mbps
5. Caching & Compression
- Compression: Reducing the data size before sending (e.g., Gzip, Brotli).
- Caching: Storing frequently accessed files closer to the user (CDNs) to avoid the “Delay” part of the BDP equation.