0

I have a Jmeter load test script for testing a scenario where there are 2899291 customer users. Right now I am using below configuration: Number of threads: 100 or 200 or 300, Ramp up period: 200 or 400 or 600. Loop count is Infinite. Specify thread lifetime is checked where Duration is 3600 and Start up delay is 5 sec. I am using 100 different user logins depending on the thread count. How can I best replicate this scenario for 2899291 customers? What is the max number of threads that I need to provide? If I increase the thread to say 28000, will I have to use that many user logins as well?

Please provide your inputs. I am new to Jmeter and using it since last 2 months.

Right now I am using below configuration: Number of threads: 100 or 200 or 300, Ramp up period: 200 or 400 or 600. Loop count is Infinite. Specify thread lifetime is checked where Duration is 3600 and Start up delay is 5 sec.

Anu
  • 1

1 Answers1

0

If you need to test whether your application can handle 2899291 concurrent users you will need that many threads.

The number of unique logins mainly depends on whether your application allows concurrent logins using same credentials or not. In general good practice is when each JMeter thread (virtual user) is mapped to real user with 100% accurracy, to wit you will need 2899291 logins.

Also be aware that a single JMeter instance most likely can support up to ~65000 concurrent connections so you will need to go for JMeter Distributed Testing with 45 machines to be able to kick off that many.

However you might need much less, for example I've just executed this query and it returned 20312833 but I strongly doubt that 20 millons of users are accessing the site at exactly this moment and do it 24x7x365.

For example Our Audience page states that there are 100 millions of visits per month so if we assume that everyone uses StackOverflow evenly it means that each of 20 millions of users opens website 5 times per month only.

So if you want to replicate the production usage of your system you can check its access logs or Google analytics or whatever is the source where you did get this 2899291 number and see what are active periods, are there any spikes, what is session duration, how many requests on average a user performs, etc.

Dmitri T
  • 159,985
  • 5
  • 83
  • 133
  • Thank you for your response. I do have Distributed load testing AWS access but I am not sure what number of users and ramp time I should put there and how to see the reports. I will check Google Analytics set up with our application. – Anu Apr 25 '23 at 18:08
  • Number of users: check [How to Calculate Concurrent Users in Performance Testing With Google Analytics](https://www.blazemeter.com/blog/calculate-concurrent-users-performance-testing) article, ramp-up: doesn't really matter as long as the load is increased gradually. If you cannot figure out anything better: JMeter documentation [suggests](https://jmeter.apache.org/usermanual/test_plan.html) `Start with Ramp-up = number of threads and adjust up or down as needed.` Reports: [HTML Reporting Dashboard](https://jmeter.apache.org/usermanual/generating-dashboard.html) – Dmitri T Apr 26 '23 at 05:55