Operations 11 min read

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.

Java Backend Technology
Java Backend Technology
Java Backend Technology
How to Achieve 50,000+ Concurrent Users with JMeter & BlazeMeter

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.

Load test diagram
Load test diagram
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Master‑SlaveJMeterLoad TestingBlazeMeter
Java Backend Technology
Written by

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!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.