# Load-generator reference run, 13 August 2026 ## Question How do Apache JMeter, k6, Gatling and Locust differ in generator resource use when they execute the same simple closed workload? ## Workload - 1,000 virtual users for one hour. - Closed workload with fixed think time. - Local Node.js target with a fixed 50 ms response delay. - Theoretical throughput: 952 requests per second. - Requests counted independently on the target side. ## Rig - One 4-core Intel i7-7700 host with 31 GB RAM. - Target pinned to logical CPU cores 0 and 1. - Generators pinned to logical CPU cores 2 to 7. ## Engines - Apache JMeter 5.6.3, heap set to 2 to 4 GB. - k6 v2.2.0. - Gatling 3.15.1. The closed workload used an explicit maximum duration. - Locust 2.46.3 using FastHttpUser and four workers, following Locust's multi-core guidance. ## Results See `load-engine-benchmark-2026.csv`. ## Limits This is one run per engine, on one host, with one simple closed scenario and no network distance. There are no repeated-run confidence intervals. The figures compare resource profiles under this workload. They do not establish maximum scale, script maintainability, protocol breadth, cloud economics or production-fleet cost. At fixed concurrency and think time, throughput is set by the scenario. All four engines delivered 950 to 952 target-side RPS, within a fraction of one per cent of the theoretical 952 RPS. CPU and memory were the meaningful differences in this run.