🧮 PERFTRACTOR
🔋 Load Generator Calculator
Work out how many virtual users each load generator can safely run.
🔋 Load Generator Calculator
Work out how many virtual users each load generator can safely run.
virtual users per load generator
The Formula
VUs per LG = (Total RAM − OS RAM − First VU) ÷ Additional VU + 1
- Total RAM = Memory available on the load generator (MB)
- OS RAM = Memory reserved for the operating system (MB)
- First VU = Memory footprint of the first virtual user (MB)
- Additional VU = Memory each extra virtual user adds (MB)
How it works
A load generator that runs out of memory or CPU produces slow, unreliable VUs, so your test measures the generator's limits instead of the system's. Sizing generators correctly is a prerequisite for trustworthy results.
The first virtual user pays the one-time cost (JVM/runtime, loaded resources); each additional VU adds a smaller incremental footprint. Subtract OS reserve and the first VU, then divide the remainder by the per-VU increment.
Always validate with a calibration run: watch generator CPU below ~70% and memory headroom at peak load. Divide your total VU count by this per-generator capacity to get the number of generators required.
Frequently Asked Questions
How many virtual users can one load generator run?
It depends on available memory and per-VU footprint: VUs = (Total RAM − OS reserve − first VU memory) ÷ per-additional-VU memory + 1. A 4 GB generator with 1 GB OS reserve, 200 MB first VU and 100 MB per extra VU runs about 29 VUs. Always confirm with a calibration run keeping CPU under ~70%.
How do I know if my load generator is overloaded?
Watch for generator CPU above 70–80%, memory swapping, or VU response times climbing while server-side metrics stay flat. Overloaded generators distort results: add generators or reduce VUs per generator.
Do I need multiple load generators for JMeter?
When your target VU count exceeds one machine's safe capacity, use JMeter distributed mode (jmeter-server on each injector, -r flag on the controller) or a cloud runner. Deploy the same JMeter version, plugins, and data files on every node.