Script Valley
Web Performance Fundamentals
How Browsers Load PagesLesson 1.4

How to read a browser waterfall chart to find performance bottlenecks

waterfall chart anatomy, queuing, stalled, DNS, connect, waiting, receiving, connection limits, request prioritization

Reading the Network Waterfall

The network waterfall in DevTools (Network tab) is the most useful performance diagnostic tool available. Each row is one request. Each colored segment is a phase of that request's lifecycle.

The key segments to understand:

  • Queuing / Stalled — the request hasn't started yet. Cause: HTTP/1.1 connection limit (6 per origin), or higher-priority requests ahead in queue

  • DNS Lookup — resolving the hostname. Should be near-zero after first visit due to caching

  • Initial Connection / SSL — TCP + TLS setup. High here means no connection reuse

  • Waiting (TTFB) — time until first byte of response. Server is processing

  • Content Download — transferring the body. Proportional to file size

// Programmatically read timing data
const [entry] = performance.getEntriesByName('https://example.com/api/data');
console.log('TTFB:', entry.responseStart - entry.requestStart);
console.log('Download:', entry.responseEnd - entry.responseStart);
console.log('Total:', entry.duration);

The single most actionable pattern to spot: a long Stalled bar followed by a short download. This means the file is small but waited in queue — your page has too many parallel requests on HTTP/1.1. The fix is HTTP/2 (multiplexing) or bundling smaller files.

Up next

What is the browser cache and how HTTP cache headers control it

Sign in to track progress