Skip to main content

Load Testing

Load testing measures how a system performs under an expected level of concurrent users or traffic, checking that response time, throughput, and error rate stay within acceptable limits at that load. Unlike stress testing, which pushes past normal limits to find the breaking point, load testing answers a narrower question: does this hold up at the traffic we actually expect?

A load test is only as useful as the traffic model behind it. Simulating 10,000 identical requests to the same endpoint tells you almost nothing about how the system behaves under real usage, where traffic is a mix of browsing, searching, checking out, and idling — often concurrently, often unevenly distributed across endpoints.

Tools like JMeter, Gatling, and k6 script that mix as virtual users, ramping up gradually (the ramp-up period) rather than hitting the system instantly, since real traffic rarely spikes to full load in zero seconds. Key metrics tracked throughout: response time (ideally reported as percentiles — p95 and p99 matter more than the average, since averages hide the worst experiences), throughput, error rate, and resource utilization on the system under test.

A load test that passes doesn't mean the system can't fail under more traffic — that's what stress and spike testing are for. It means the system is healthy at the load it was actually built to handle.