Perceived speed is often about many small bottlenecks stacked together, not just raw bandwidth. When things “feel slower” after upgrading hardware, it’s usually due to latency, connection setup delays, or routing quirks rather than throughput.
Here are some practical ways you can pinpoint where the delays are occurring:
1. Break down the journey of a request
Every web page load has several stages, and each can introduce delay:
- DNS resolution (finding the server’s IP)
- TCP/TLS handshake (establishing the secure connection)
- Server response time (TTFB – time to first byte)
- Content download speed (affected by bandwidth)
- Rendering (browser processing, caching, JS execution)
You want to isolate which stage feels “sticky.”
2. Tools you can run locally
- Ping & Traceroute
ping example.com→ shows latency & packet loss.traceroute example.com(Linux/macOS) → shows where hops slow down. - MTR (
mtr example.com) → combines ping + traceroute over time to pinpoint unstable hops (great for ISP vs. upstream issues). - nslookup / dig
dig example.com→ shows DNS lookup time. - curl -w
curl -o /dev/null -s -w \ "DNS: %{time_namelookup} Connect: %{time_connect} TLS: %{time_appconnect} TTFB: %{time_starttransfer} Total: %{time_total}\n" \ https://example.com
3. Browser-based diagnostics
- Chrome DevTools → Network tab
- Hover over a request → waterfall shows DNS, connection, SSL handshake, waiting (TTFB), download separately.
- Lighthouse / WebPageTest
- WebPageTest (webpagetest.org) lets you test from multiple locations and see detailed connection breakdowns.
- Chrome → chrome://net-export
- Can log all network activity for deeper debugging.
4. Router-level checks
- Check DNS resolver: many routers default to the ISP’s DNS, which may be slower than Cloudflare (1.1.1.1) or Google (8.8.8.8).
- Look at latency to first hop: If your router introduces more processing delay (cheap routers sometimes do with NAT/firewalling), you’ll see higher ping times even to your ISP gateway.
- Bufferbloat tests: Run https://www.waveform.com/tools/bufferbloat. Bad queue management makes connections feel sluggish even with fast bandwidth.
5. External monitoring
- Pingdom / UptimeRobot: measure your server’s response from multiple global locations.
- GTmetrix: useful for seeing TTFB + render times.
6. Compare like-for-like
To isolate your local vs. server issues:
- Run
curl -wdirectly from your server (SSH in).
→ If server-to-server fetch is fast, delays are in your local ISP/router path. - Run the same from your desktop. Compare results.
🔎 Most common culprits:
- Router’s DNS resolver being slower than your old one.
- Router’s CPU/NAT introducing small delays on many simultaneous connections.
- Bufferbloat when background traffic (syncs, updates, cloud apps) competes.
- Your ISP’s peering path to the hosting server changed.
See also
https://pagespeed.web.dev