How to Run a Load Test with 50,000 Concurrent Users Using JMeter and BlazeMeter
This guide details a step‑by‑step process for creating, debugging, and scaling JMeter scripts, performing sandbox tests on BlazeMeter, configuring engine user limits, building clusters, and using master‑slave mode to achieve a 50 k concurrent‑user load test.
This article, originally from “肉眼品世界”, explains how to conduct a smooth load test with 50,000 concurrent users using JMeter and BlazeMeter.
Step 1: Write Your Script
Obtain the latest JMeter version from the Apache site, install required plugins, and create the test script either by using the BlazeMeter Chrome extension, JMeter’s HTTP(S) Test Script Recorder, or building it manually. Parameterize usernames, passwords, and other dynamic data using CSV files, regular expressions, JSONPath or XPath extractors, and configure default HTTP requests for easier environment switching.
Step 2: Run Local Tests with JMeter
Debug the script with a single thread and one iteration using the View Results Tree, check logs, and verify all scenarios. Once the script works, increase to 10‑20 threads for a short test, remove debug listeners, and ensure no absolute file paths are used.
Step 3: BlazeMeter Sandbox Test
Configure a sandbox test with 300 users, one controller, and a 50‑minute duration. Enable full control of the JMeter engine, whitelist BlazeMeter CIDR ranges, and upload all required files (CSV, JAR, JSON, etc.) without using local paths. Monitor the Waterfall/WebDriver tab and resource usage.
Step 4: Set Users‑per‑Engine with One Controller and One Engine
Determine how many users each engine can handle by running a test with 500 threads for 40‑50 minutes. Adjust thread count based on CPU (≤75 %) and memory (≤85 %) thresholds, reducing by 10 % for safety.
Step 5: Install and Test a Cluster
A cluster consists of one controller and up to 14 engines. Run the test from Step 4 while increasing the number of engines, ensuring neither engines nor the controller exceed the CPU and memory limits, and record the total users and hit rate per cluster.
Step 6: Use Master/Slave Mode to Reach the Target Concurrency
Assuming each engine supports 500 users and each cluster can host 12 engines, achieve 50 k users by creating eight clusters of 12 engines and one cluster of 4 engines (or ten clusters of 10 engines). Duplicate the test, rename slaves, set them to “Slave”, create a master test, and finally run the master‑slave configuration, launching ten tests of 5 k users each.
Qunar Tech Salon
Qunar Tech Salon is a learning and exchange platform for Qunar engineers and industry peers. We share cutting-edge technology trends and topics, providing a free platform for mid-to-senior technical professionals to exchange and learn.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.