'Just add more bandwidth' fixes throughput problems and does nothing for latency problems — two genuinely different bottlenecks with different fixes. Closing this domain with the actual tools (ping, traceroute, curl, dig) that turn 'the network is slow' into a specific, provable cause.
3 min read
Bandwidth is how much data can move per second — the width of the pipe. Latency is how long a single piece of data takes to make the trip — the length of the pipe, dominated by physical distance (as the CDN lesson established) and the number of hops/round trips involved (the handshake lessons).
A useful analogy: a highway with more lanes (bandwidth) moves more cars per hour, but doesn't get any single car to its destination faster — that's a function of distance and speed limit (latency). Upgrading a home internet plan from 50 Mbps to 500 Mbps does essentially nothing for how fast a single small API request round-trips to a server across the ocean — that request was never bandwidth-limited to begin with.
This is exactly why this domain kept returning to "how many round trips does this cost" — TCP's handshake, TLS's handshake, DNS resolution, HTTP/1.1's one-at-a-time limitation — because for the vast majority of real web requests (small payloads, not huge file transfers), latency, not bandwidth, is the actual bottleneck, and every optimization this domain covered (HTTP/2 multiplexing, connection reuse, CDNs, QUIC folding handshakes together) is fundamentally a way of reducing round trips or the distance they travel.
ping — the simplest possible check: is this host reachable at all, and
what's the round-trip time?
$ ping -c 4 example.com
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=14.2 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=13.8 mstraceroute (tracert on Windows) — which hop along the path is actually
slow or unreachable, from the first lesson's routing discussion:
$ traceroute example.com
3 10.20.0.1 45.2 ms <- a slow hop, worth investigating
4 93.184.216.1 14.9 ms <- back to normal after that hopdig — is DNS resolving correctly, and how long did it take (from the DNS
lesson):
$ dig example.com A +short
93.184.216.34curl -v — the single most useful tool for HTTP-specific debugging: shows
the DNS lookup, TCP connect, TLS handshake, and HTTP exchange as separate,
timed phases, which is exactly how you tell which layer a slow request is
actually slow at:
$ curl -v -o /dev/null -s -w '\nDNS: %{time_namelookup}s Connect: %{time_connect}s TLS: %{time_appconnect}s Total: %{time_total}s\n' https://example.com
DNS: 0.012s Connect: 0.045s TLS: 0.089s Total: 0.312sThat single command directly shows this whole domain's timeline in one output —
if time_namelookup alone is huge, it's a DNS problem; if time_connect jumps
without time_namelookup being large, it's the TCP handshake or routing; if
time_appconnect is disproportionate, it's TLS specifically.
Browser DevTools' Network tab — the same idea, visually: every request shows its own DNS/Connect/TLS/Request/Response breakdown, plus which requests are blocked waiting on a connection slot (the HTTP/1.1 limitation from earlier) — genuinely the fastest way to diagnose a real, slow production page rather than guessing.
Every lesson in this domain answers a piece of the same question: where does time actually go between "my code calls fetch()" and "a response comes back?" DNS resolution, a TCP handshake, a TLS handshake, however many HTTP round trips, however far the packets physically travel, and whether a CDN or cache intercepted the request before it ever reached the origin. Being able to name which of those a specific slow request is actually spending its time in — instead of just calling it "network latency" — is the concrete, practical skill this whole domain was building toward.
Check your understanding
A quick comprehension check — not tracked, not graded, just for you.
1. For a small API request to a server across the ocean, why does upgrading home internet bandwidth do almost nothing?
2. How does 'curl -v' with timing flags help pinpoint a slow request's actual cause?
3. Which tool would best reveal that one specific hop along a network path is unusually slow?
Networking Fundamentals