You've now learned about (how fast one request is) and (how many requests a system handles). But there's a third piece of the puzzle that ties them together:
How much data can your connection actually carry?
Think about a water pipe. You can have the highest water pressure in the world (low latency) and multiple pipes running in parallel (high throughput), but if each pipe is only 1 centimeter wide, there's a hard limit to how much water can flow through it. No matter what you optimize, you can't push more water through a narrow pipe.
That pipe width? That's bandwidth.
Bandwidth matters in everyday life more than you might think:
Understanding bandwidth helps you make critical decisions: How much data should your API responses contain? Should you compress images? Do you need a ? Can your architecture handle video streaming?
Bandwidth is the maximum amount of data that can be transferred over a network connection in a given time period. It's the theoretical upper limit, the size of the pipe.
It's measured in:
Important: Note that bandwidth uses bits (lowercase b), not bytes (uppercase B). There are 8 bits in a byte. So a 100 Mbps connection can transfer at most 12.5 MB (megabytes) per second. This trips up a lot of beginners!
| Pipe Property | Network Equivalent |
|---|---|
| Width of the pipe | Bandwidth, how much data CAN flow at once |
| Water pressure | , how quickly water reaches the other end |
| Total water delivered per hour | , how much data actually DOES flow |
| Maximum capacity of the pipe | Bandwidth, the hard ceiling |
Here's the critical insight: Throughput can never exceed bandwidth. Just like the actual water delivered per hour can never exceed what the pipe's width allows, the actual data transferred can never exceed the connection's bandwidth.
But throughput is often less than bandwidth because of:
| Connection Type | Typical Bandwidth |
|---|---|
| 3G mobile | 1 - 10 Mbps |
| 4G LTE mobile | 10 - 50 Mbps |
| 5G mobile | 100 - 1,000 Mbps |
| Home Wi-Fi (standard) | 50 - 300 Mbps |
| Home fiber optic | 500 - 2,000 Mbps |
| Data center link (server to server) | 10 - 100 Gbps |
| Submarine fiber cable (intercontinental) | 200+ Tbps per cable |
Notice the massive difference: a data center link is roughly 1,000x faster than a home connection. This is why the same app feels instant on a server but sluggish on a phone.
Let's build up an intuition for bandwidth with a series of scenarios. Watch how the same data takes wildly different amounts of time depending on the pipe it flows through.
Now that you've learned all three concepts, let's see how they relate. This is one of the most important mental models in system design.
Imagine a highway connecting two cities:
| Concept | Highway Analogy | Definition | Unit |
|---|---|---|---|
| Bandwidth | The total number of lanes on the highway | Maximum data the connection CAN carry | Mbps, Gbps |
| The actual number of cars passing through per hour | Amount of data that IS being transferred | Requests/sec, Mbps | |
| The time it takes ONE car to drive from city A to city B | Time for one piece of data to travel from source to destination | Milliseconds |
Scenario 1: High bandwidth, low throughput You have a 10-lane highway (high bandwidth), but only 5 cars are using it (low throughput). The highway is underused. This is like having a gigabit internet connection but only browsing text-based websites, you're not using your available bandwidth.
Scenario 2: Bandwidth bottleneck You have a 2-lane highway (low bandwidth) and 1,000 cars trying to use it. Traffic jams everywhere. Latency increases because cars are stuck waiting. Throughput is capped at the highway's capacity. This is what happens when millions of users try to stream video during a major event on an undersized network.
Scenario 3: High bandwidth, high latency You have a massive 20-lane highway (high bandwidth), but the two cities are 1,000 km apart (high latency). You can send lots of data at once, but each piece takes a long time to arrive. This is what happens with satellite internet, great bandwidth, terrible latency (500ms+).
Throughput is always less than or equal to Bandwidth (you can never transfer more than the pipe allows)
Effective Throughput = Bandwidth x Utilization (how much of your available bandwidth you're actually using)
Bandwidth-Delay Product = Bandwidth x Latency (the amount of data "in flight" at any moment, important for understanding network buffers)
| Problem You're Seeing | Likely Bottleneck | Solution |
|---|---|---|
| Single request is slow | Latency | Move servers closer, add , optimize code |
| Can't handle enough users | Throughput | Add more servers, optimize processing, use async |
| Large file transfers are slow | Bandwidth | Compress data, use , upgrade network |
| Video streaming buffers constantly | Bandwidth + Latency | Use adaptive bitrate streaming, CDN, pre-buffering |
| API responses are huge and slow | Bandwidth + Latency | Paginate responses, compress, use to request only needed fields |
Content Delivery Networks (CDNs) solve a fundamental bandwidth problem. If Netflix served all video from a single data center in Virginia, the bandwidth required at that one location would be astronomical, and users in Tokyo would experience terrible .
Instead, CDNs copy content to hundreds of locations worldwide. Each edge server needs only enough bandwidth to serve its local users. This distributes the bandwidth requirement across many locations.
When building applications, you need to consider bandwidth constraints of mobile users:
This is why engineers:
Cloud providers charge for data transfer:
This is why engineers obsess over payload sizes. Reducing your average API response from 50 KB to 10 KB doesn't just make things faster, it can cut your bandwidth bill by 80%.
3 questions - Score 80% to pass
What is bandwidth?
A network connection has 100 Mbps bandwidth. Due to network congestion and protocol overhead, only 60 Mbps of actual data is being transferred. What is the throughput?
You're building a mobile app that loads a feed of photos. Users on 4G connections report the feed loads slowly. What should you try first?