Q34 of 38 · Performance
How do you generate distributed load when a single machine is not enough?
Short answer
Short answer: Use your tool's native distributed mode: k6 Operator on Kubernetes, JMeter in distributed mode with controller + injectors, or Gatling Enterprise's multi-injector setup. Coordinate from a central controller and aggregate results before computing percentiles.
Detail
A single load generator saturates its own CPU and network before it can generate enough traffic to stress a modern production system. For realistic high-volume tests (10,000+ VUs, 50,000+ RPS), you need distributed load generation.
k6 on Kubernetes (k6 Operator): define a K6 custom resource specifying the number of runner pods and the VU distribution. The operator schedules pods across nodes and aggregates results centrally. k6 Cloud is the managed alternative.
JMeter distributed mode: one controller node sends the test plan to multiple remote injector nodes. Each injector runs a portion of the VU load. Critically, percentiles must be computed from the aggregated raw samples — not averaged across nodes, which produces statistically incorrect results.
The main challenges in distributed load: clock synchronisation across nodes (affects timing accuracy), result aggregation (percentiles are not averageable — you need the raw data), and load balancer warm-up (ensure the LB distributes load before recording metrics).
// WHAT INTERVIEWERS LOOK FOR
// Related questions