The beginner's guide to performance testing
Ninety short parts that take you from "what is load testing" to reading your own reports, written for developers, QA engineers and ecommerce teams who are new to performance work. Each part stands on its own; read in order and the vocabulary builds.
18 parts published so far. New parts every Wednesday and Thursday; the latest is part 18, .
Foundations
What performance testing is, why speed matters to a business, and what a first load test looks like.
- Part 2 What is website performance, and why does speed matter? Why is website speed important? What website performance really covers, what slow pages cost in conversions and rankings, and how performance is measured.
- Part 3 The types of performance testing, and when to use each The types of performance testing explained for beginners: load, stress, spike and soak, plus smoke, capacity, volume and scalability, and which to run when.
- Part 4 What is a virtual user? A virtual user is a simulated visitor in a load test. What VUs actually simulate, how they differ from concurrent users and requests, and the traps to avoid.
- Part 6 How to load test a website: your first test, step by step How to do load testing on a website for the first time. Ten steps, from choosing one journey and sizing it from real traffic to reading the final report.
Background reading
- What is load testing?
- Performance testing: the complete guide
- Load testing vs stress testing vs performance testing: how the three actually differ
- Functional testing vs performance testing: two questions every release should answer
- Smoke testing vs performance testing: when a quick pre-release check is enough
How a web page loads
The journey from a typed URL to a rendered page: DNS, TLS, the first byte, caches, scripts and images, and why mobile is slower.
- Part 8 What happens when a web page loads: DNS, TLS, TTFB and render How does a web page load? Seven waits, from DNS lookup and TLS handshake to first byte and render, with what each costs and which grow when a site is busy.
- Part 10 Latency, bandwidth and round trips, explained Latency vs bandwidth, explained for web pages: what each one measures, why faster broadband rarely makes a slow site fast, and what a site owner can change.
- Part 12 Time to First Byte (TTFB), explained What TTFB is, what a good Time to First Byte looks like, how to measure it, why a CDN can hide a slow server, and why TTFB climbs first when a site is busy.
- Part 14 What a CDN does (and does not) do for your site under load What a CDN is, how it takes cacheable traffic off your server under load, what still reaches your origin on sale day, and how to load test with a CDN in front.
- Part 16 Caching explained: browser, CDN, full-page and object caches What caching is, the five cache layers between a shopper and your database, page cache vs object cache, and which requests skip which cache under load.
- Part 18 Third-party scripts and tag managers: the slowdown you did not write How third-party scripts and tag managers slow a page, what happens when a vendor is down, and how to measure and cut what each script costs your shoppers.
Measuring speed
Core Web Vitals and the metrics around them, the tools that report them, and how to read a score without being misled by it.
Parts in this module are still to come.
Background reading
- Largest Contentful Paint (LCP), explained for engineers
- Interaction to Next Paint (INP), explained for engineers
- How to improve LCP: a step-by-step optimization guide
- How to improve INP: a step-by-step optimization guide
- How to improve CLS: a step-by-step optimization guide
- Core Web Vitals: why lab scores differ from real users
- Core Web Vitals at load, explained
- Why average response time misleads you: reading p95 and p99
- What is an Apdex score? Measuring user satisfaction in performance testing
- 8 metrics every performance test report should include
Load-testing vocabulary
Virtual users, concurrency, throughput, ramp-up and the other words every load test report uses.
Types of tests
Capacity, volume, scalability and the rest of the testing family, and which shape of test answers which question.
- Part 5 What is capacity testing? Capacity testing finds how many users your site can serve while still meeting its speed targets. How it differs from stress testing, and how to run one.
- Part 13 What is volume testing? Volume testing checks that your site stays fast when its data grows to production size. What it is, how it differs from load testing, and how to run one.
Running tests safely
Sizing, duration, environments, test data, pass criteria and the operational blockers every first test hits.
Parts in this module are still to come.
Reading results
Reading a report, spotting results that will not survive production, and explaining the numbers to the people who fund the fix.
Parts in this module are still to come.
Where slowness comes from
Where sites actually slow down under load: databases, caches, third-party services, autoscaling limits and queues.
- Part 15 Why websites crash under high traffic Why websites crash under high traffic: the order a busy site fails in, from queues and timeouts to retries and cascades, and how to find your weak point first.
- Part 17 What is a virtual waiting room? A virtual waiting room queues website visitors once traffic passes a limit you set. How it works, when shops use one, and how to choose how many to let in.
Ecommerce and peak season
Peak-season readiness for online stores: Black Friday planning, flash sales, checkout and platform-specific slowdowns.
- Part 1 How to prepare your website for Black Friday: the 12-week plan Black Friday website preparation as a 12-week countdown: size your peak from last year, load test early, fix, rehearse the spike, freeze, and stand watch.
- Part 9 How to estimate peak traffic from your analytics How much traffic will Black Friday bring? Find last year's busiest hour in GA4, the peak minutes inside it and your growth, then set a load test target.
- Part 11 What is a code freeze, and should you have one before peak? What a Black Friday code freeze is, what it protects and what it misses, when to start and end it, and how to run exceptions without undoing the load test.
Tools and capstone
Choosing and comparing tools, plus the reference material that ties the guide together.
Parts in this module are still to come.