How to Achieve 50,000+ Concurrent Users with JMeter & BlazeMeter
This guide walks you through creating JMeter scripts, performing local and sandbox tests, configuring consoles and engines, scaling to clusters, and leveraging master‑slave mode to reliably run load tests with over fifty thousand simultaneous users.
This article explains how to run a load test with more than 50,000 concurrent users using JMeter and BlazeMeter, covering script creation, local testing, sandbox testing, console and engine configuration, cluster scaling, and master‑slave execution.
Step 1: Write Your Script
Download the latest JMeter version from the Apache site and install any required plugins. Scripts can be created by recording with the BlazeMeter Chrome extension, using JMeter's HTTP(S) Test Script Recorder, or building them manually.
Step 2: Test Locally with JMeter
Run the script with a single thread and iteration, using the View Results Tree listener to debug. Verify all scenarios, then increase to 10‑20 threads for a longer run, checking for errors, correct user creation, and response statistics.
Step 3: Run a BlazeMeter Sandbox Test
Configure a sandbox test (e.g., 300 users, 1 controller, 50‑minute duration) to validate the script in BlazeMeter. Ensure firewalls allow BlazeMeter CIDR ranges and that all test files (CSV, JAR, JSON, etc.) are accessible.
Step 4: Set Users per Engine
Use one controller and one engine to determine how many users an engine can handle. Adjust thread counts (e.g., 500 → 700) until CPU stays below 75% and memory below 85%.
Thread count: 500
Ramp‑up: 40 minutes
Iterations: unlimited
Duration: 50 minutes
Step 5: Install and Test a Cluster
A cluster consists of one controller and up to 14 engines. Increase the number of engines (up to 14) and run the test for the full duration, monitoring CPU, memory, and hit rates to ensure no component exceeds the limits.
Step 6: Use Master/Slave to Reach the Target Concurrency
Assuming one engine supports 500 users and a cluster can hold 12 engines, achieve 50 k users by creating multiple clusters (e.g., 10 clusters with 10 engines each). Convert one test to a slave, duplicate it to create nine slaves, then promote the original to master.
Finally, start the master test to launch ten parallel tests, each handling 5 k users, and adjust scripts, CSVs, or network settings as needed.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java Backend Technology
Focus on Java-related technologies: SSM, Spring ecosystem, microservices, MySQL, MyCat, clustering, distributed systems, middleware, Linux, networking, multithreading. Occasionally cover DevOps tools like Jenkins, Nexus, Docker, and ELK. Also share technical insights from time to time, committed to Java full-stack development!
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.
