0
votes

A vast difference between the results of performing load testing for 50 virtual users:

Method 1) Single Linux machine (m3.medium)

No of Threads: 50 users
Ramp Uptime: 60 sec

Method 2) JMeter primary-secondary distributed testing

i) server - linux machine (m3.medium)
ii) client1 - linux machine (m3.medium) - No of Threads: 25, Ramp up time: 60 sec
iii) client2 - linux machine (m3.medium) - No of Threads: 25, Ramp up time: 60 sec

jMeter version: 4.0 in each case

Distributed Testing takes about four times more time than single testing. I couldn't find the cause even after several test runs.

enter image description here

1
Are you sure all those source requests are actually hitting the target machine? 50 threads seems like it might be a lot. What happens if you try 24 threads on single machine, and then 12 and 12 on distributed? Or 10 and then 5 and 5? - Jonathan
Do all have the same amount of ram and java heap space? Are they located in the same subnet? - joCha
"takes about 4 times more time than single testing" - based on what? can you share actual example of what ran, and took different time on both environments? - Kiril S.
All the requests are hitting the target machine. All machines are in same subnet as well. Enough ram and heap is also available. - Shashank Shah
@kiril I mean while on single machine APIs which takes about few hundred milliseconds takes about 4x milliseconds when ran on distributed env. - Shashank Shah

1 Answers

0
votes

How many machines is needed for 50 concurrent users ? TL;DR 1

Use Distributed Testing only when 1 machine isn't enough

Use Distributed Testing only when have to, setting up has its overhead and tuning.

It's relevant for 1K concurrent users and above