Reputation: 41
I'm using Ultimate Thread Group in JMeter for a simple Script which includes some requests to emulate the login flow.
Tests will be run in Non-GUI modes. The script looks like that:
The total number of threads in the Ultimate Thread Group will be 250. Initial delay=0 Startup Time=250 Hold Load= 400 seconds Shutdown time= 250
I have questions have to do with Ultimate Thread Group and client frequency
Ultimate Thread Group
The client throughput
Can I use Constant Throughput Timer (CTT) for example if I will need to control throughput from the client-side? For example, I have the requirement - login flow 250 concurrent users, server throughput should be able to process ~ 5 requests per second.
So in case of CTT using, should I remove all think times (except one - 2-3 minutes to emulate the user session) from the script and put only one CTT at the end of the script?
And my final settings will be:
The total number of threads in the Ultimate Thread Group will be 250. Initial delay=0 Startup Time=250 Hold Load= 400 seconds Shutdown time= 250
How to configure CTT to make a load from the client-side 2 requests per second and considering 250 concurrent users?
Upvotes: 2
Views: 1765
Reputation: 1250
With your setup
As you have planned, you can use the Constant Throughput Timer (in that case you can remove the think time). But for this case, if you have a request to have 2 requests per second, I recommend you to use the jp@gc - Throughput Shaping Timer. Because for some reason, it seems to work better with the ultimate thread group.
Just to give you some inputs, I created a similar scenario in JMeter, please check the images bellow
In this sample
Start Threads : 25, Initial delay : 0, Startup Time : 25 ,Hold Load : 10, Shutdown time : 25
In execution, if you check the jp@gc - Active Threads Over Time graph, it will look like this
This is your RPS ( Throughput ) when you add a think time
If you remove the think time and if you did not have a timer to control throughput this is your RPS ( As you can see, even I have 25 threads, the RPS can go passing 25 )
But when you remove the think time and add a Timer ( I have added the timer to have a start and end RPS as 2 for 60s ) to control throughput will look like this. As you can see, at any given time, the throughput will not exceed 2.
And If you add both the timer (RPS 2 for the 60s) and think the time the RPS will look like this. In this graph, you will see there are some scenarios where the RPS is more than 2. That happens due to the think time. ( If the previous request have a Think time of 5s and new two have a 3s ) This can happen. but it will not harm the test.
so in your plan, you add
Note: you can always use dummy samplers and try out to check if you meed the expected outcome of your plan.
Hope this helps. Cheers
Upvotes: 1