-1

I'm testing 10 web services(REST) and the requirement is to load test each service with 30 Request per Second per Service. So totally I'm expecting 300 requests per second for all 10 services. All these 10 services are accessed by a single physical user account(i.e only one physical user id and password) and I don't have any other account.

To meet the above requirement of 30 Requests/Second/Service & 300 Requests/Second/10Services; Duration of 1 hour testing:

  1. how many threads(users) i need to create in JMeter? Please give me the formula for calculating it?
  2. How many Load generators needs to be added?
  3. what are all other parameters I should consider?

I already referred the following websites but nothing avl for webservices:

timbre timbre
  • 12,648
  • 10
  • 46
  • 77
CRP
  • 1
  • 1
  • The best anyone can answer such generic question is a generic answer: 1. formula is: `N * 1.1` where `N`= number of users that produce a desired throughput of 30 requests per second per service. This number should be established via testing (trial runs). And we increase this number by 10% just to be sure. 2. the minimal number which allows `N` users from the previous answer to run. 3. you need to consider all parameters relevant for your application. – timbre timbre Mar 13 '18 at 22:40

1 Answers1

0
  1. As per How do I Correlate the Number of (Concurrent) Users with Hits Per Second article:

    1 sample, 1 thread, 1 second delay + (assume for) a 2 second response time to load the page = 3 seconds Total delay between requests = Thread will execute 20 times per 1 minute = 0.33 Hits/s

    So as you can see, the number of hits per second depends on 2 factors:

    1. Number of threads (virtual users)
    2. Response time of your application

    For example if your application response time is 1 second - it will be enough to use 30 users, if it is 2 seconds - you will need 60 users, etc.

    A "good" practice is to start with 1 thread (virtual user) and gradually increase the load until you reach the required throughput (or errors start occurring, whatever comes the first)

    Another approach is to start with anticipated number of users of your service and accurately mimic each user so the workload would be realistic.

  2. Assuming you will need to conduct at most 300 requests per second I believe single JMeter instance will be enough. Just make sure you're following JMeter Best Practices

  3. I cannot think of any extra parameters you might require, if you need to implement 30 requests per second per service I would go for Concurrency Thread Group and Throughput Shaping Timer combination. You can install both using JMeter Plugins Manager
Dmitri T
  • 159,985
  • 5
  • 83
  • 133