Throughput is the real-world measure of how much useful data a network connection delivers per second. Unlike bandwidth (the theoretical maximum capacity of a link) or a speed test result (measured under ideal conditions), throughput is what you actually experience when transferring files, streaming video, or making API calls under normal operating conditions.
Throughput vs Bandwidth vs Speed
| Term | Definition | Example |
|---|---|---|
| Bandwidth | Maximum capacity of a link | Your ISP sells you 1 Gbps fiber |
| Speed test result | Throughput in ideal test conditions | Speed test shows 940 Mbps |
| Throughput | Actual useful data delivered | Large file transfer averages 600 Mbps due to overhead |
| Goodput | Application-layer useful data (excludes all protocol headers) | 550 Mbps of actual payload bytes |
What Reduces Throughput
- Protocol overhead — TCP/IP headers, TLS handshakes, and acknowledgement packets consume bandwidth
- Packet loss — TCP retransmits lost packets, halving the congestion window and throttling speed
- Latency — High round-trip time reduces TCP throughput, especially with small receive windows (TCP throughput ≈ window size / RTT)
- Bufferbloat — Oversized router buffers cause high latency under load, reducing effective throughput
- Network congestion — Shared links get congested during peak hours
- Hardware limits — CPU, NIC, or storage I/O bottlenecks can cap throughput below the network limit
The TCP Throughput Formula
For a single TCP connection, maximum throughput is approximately:
Throughput ≈ (TCP Window Size) ÷ (Round-Trip Time)
A 65 KB window over a 100 ms RTT gives only ~5 Mbps, regardless of your connection's bandwidth. Modern operating systems use auto-tuning to increase window sizes, but high-latency links remain limited.
How to Improve Throughput
- Reduce packet loss — fix faulty cables, improve Wi-Fi signal, or switch to wired Ethernet
- Lower latency — use a server geographically closer, or a CDN
- Enable QUIC/HTTP3 — uses UDP and avoids TCP head-of-line blocking
- Use parallel connections or multi-stream protocols for large transfers
- Fix bufferbloat with active queue management (CAKE, fq_codel) on your router
People Also Ask
- Why is my throughput lower than my speed test result?
- Speed tests measure burst throughput to nearby, well-provisioned servers under ideal conditions. Real-world throughput is lower because of: distant servers with higher latency, packet loss, TCP slow start on new connections, QoS policies on your ISP, shared bandwidth on Wi-Fi, and protocol overhead. A realistic benchmark is a file download from a server in a different region over an extended period.
- What is the difference between throughput and latency?
- Throughput is how much data moves per second (volume); latency is how long it takes a single packet to travel from sender to receiver (delay). A high-throughput connection can still have high latency (e.g., a satellite link can transfer gigabytes per hour but has 600 ms round-trip delays). Both matter: throughput for file transfers, latency for interactive applications like gaming and video calls.
Related: Packet loss | Bufferbloat | BGP routing