Time to put everything together. These exercises simulate real-world distributed testing scenarios you will encounter in your career. Work through them carefully -- interviewers love asking about distributed testing setup because it separates beginners from experienced testers.
Your team needs to simulate 15,000 concurrent users for a banking application load test. The test script is medium complexity (SSL, 8 API calls per user flow, JSON extraction, CSV parameterization). You have access to AWS EC2. Plan the complete infrastructure.
Workers needed: 15,000 / 800 = 18.75 -> 19 workers + 2 spares = 21 workers
Master: 1 machine (c5.2xlarge)
Total machines: 22
Thread count in JMX: 15,000 / 21 = 714 threads per worker
(Or use __P(threads,714) for flexibility)
jmeter.properties on master:
remote_hosts=10.0.1.1,10.0.1.2,...,10.0.1.21 (all 21 worker IPs)
server.rmi.localport=4000
server.rmi.ssl.disable=true (test environment)
Command:
jmeter -n -t banking_load_test.jmx -r \
-Gthreads=714 -Gduration=3600 \
-l results.jtl -e -o html_report
Bandwidth per worker:
714 users x 4 req/sec x 25 KB = 71.4 MB/s (within 1 Gbps NIC capacity)
Total bandwidth hitting target:
71.4 MB/s x 21 workers = 1,499 MB/s = ~12 Gbps
(Target infrastructure must handle this!)
Cost: 22 machines x $0.34/hour x 1 hour = $7.48
(Plus a few dollars for data transfer)You have configured 5 worker machines and a master. When you run the test, 3 workers connect successfully but 2 fail with "Connection refused." jmeter-server IS running on both failing workers (you verified). What are the next 5 things you would check?
Your manager asks you to recommend a distributed testing approach for the following scenario: The team has 3 QA engineers (no DevOps support), tests run twice per sprint (bi-weekly), target load is 8,000 concurrent users, existing test scripts are in JMeter JMX format, budget is $500/month, and the application runs on Azure.
Consider: Azure Load Testing (managed JMeter on Azure, integrates with Azure Monitor), BlazeMeter (managed JMeter, upload and run), self-managed JMeter on Azure VMs, or k6 Cloud (requires rewriting scripts in JavaScript). Write a one-paragraph recommendation with justification.
For this scenario, Azure Load Testing is the strongest choice. The team lacks DevOps support (rules out self-managed), scripts are already in JMeter format (rules out k6 without migration effort), the app runs on Azure (native integration with Azure Monitor and Application Insights), and the budget accommodates managed platform pricing for bi-weekly runs. BlazeMeter would also work but lacks the Azure monitoring integration advantage.
You have a CSV file with 50,000 unique user credentials for your load test. You are using 10 JMeter workers. How do you distribute the CSV data so that no two workers use the same credentials simultaneously? Describe two approaches.
Key Point: Practice distributed testing planning on paper before you provision any machines. The math (capacity, bandwidth, cost) and the logistics (file distribution, firewall rules, version consistency) are what make or break a distributed test.
Key Point: Before running a distributed test, plan the infrastructure on paper: calculate worker count, thread distribution, bandwidth, cost, and data distribution strategy.