Lesson 10 of 19
2. Back-of-Envelope Estimation

2.9 How do you estimate bandwidth?

3 min read+10 XP

At the wedding: Vans bring raw food in and take cooked food out to a second venue. You count van-loads per hour in each direction.

In the system: Bandwidth is data per second over the network, in each direction:

  • Ingress = data coming in (uploads).
  • Egress = data going out (downloads). Usually much bigger for read-heavy apps.

The trap: bits vs bytes. Storage is measured in bytes (B). Network speed is measured in bits per second (bps). 1 byte = 8 bits. Forget the 8 and your answer is 8 times too small.

PicShare (assumed): each photo shown in the feed is a compressed version of about 200 KB.

  • Egress per day = 500 million views × 200 KB = 100 TB a day.
  • Per second = 100 TB ÷ 86,400 ≈ 1.16 GB a second (bytes).
  • In bits = 1.16 × 8 ≈ 9.3 Gbps on average, and about 3 times that at peak.

Ingress: 4 TB of uploads a day ÷ 86,400 ≈ 46 MB a second ≈ 370 Mbps.

That egress number is why photo and video apps serve media through a CDN (Chapter 26) instead of from their own servers.

Memory code: "Network speaks bits, storage speaks bytes. Times eight."