Glossary · Performance

Load Testing

Load testing simulates expected and peak numbers of concurrent users against a system to measure response time, error rate, and capacity before real traffic arrives.

Updated October 14, 2026

Load testing applies a controlled, realistic volume of traffic to an application to see how it behaves under the demand you expect. The goal is to measure response times, throughput, and errors at that level, and to find the point where performance starts to degrade.

Why it matters

A site that is fast with ten visitors can fail with a thousand. Testing before a launch, a sale, or a marketing push turns capacity from a guess into a number, and exposes bottlenecks such as an undersized database pool or a slow query.

Example

A simple k6 script ramps traffic up and checks a latency target:

import http from "k6/http";
export const options = {
  stages: [{ duration: "2m", target: 100 }, { duration: "5m", target: 100 }],
  thresholds: { http_req_duration: ["p(95)<800"] },
};
export default function () { http.get("https://staging.example.com/"); }

The test fails if the 95th percentile response time exceeds 800 ms.

Common mistakes

  • Testing production without warning anyone, which can trigger real alerts or take the site down. Test staging, or agree on a window.
  • Hitting a single URL, which just tests the cache. Use a realistic mix of pages and logged-in flows.
  • Reporting averages instead of percentiles.
  • Running the load generator from a machine that is itself the bottleneck.

Get notified when this term updates

Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.

This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.