To know the answer, first let’s understand what is the important of ‘Think time’. Think Times are necessary in Performance Test Scripts to bring in realistic end user simulation.
We all know that Think time is the time spend by the end user in thinking and entering the user inputs before submitting the next request. Hence ideally we need to configure think time between every user actions (transaction) in the performance test script to make it realistic. It is advisable to configure randomized think time while carrying out load tests.
Now it’s time to answer this frequently asked question - Is it possible to run high user load test from less number of virtual user licenses?
Answer is Yes, it is possible. But you need to know what is the risk associated by doing so.
Lets analyze the below question to understand how it is possible “Is it possible to run 4000 users load test from 2000 virtual user licenses? “
Assume we already carried out a 2000 virtual users load test using available licenses & know it creates system throughput of about 200 requests/second with average 4 seconds response time for realistic total think time configured as 6 seconds. The think time configuration will ensure a virtual user creates load on the server equivalent to 1 actual user.
By applying Little’s Law / Response Time Law, we can validate the above test measurements from load test are valid as shown below.
N = X * (R + Z)
Substituting the values in above equation, we get N = 200 * (4 + 6) = 2000 users which validates the law.
Now lets analyze whether 2000 virtual users is enough to test 4000 real users load (Can 1 VU = 2 RU?)
Assuming the system scales linearly (as long as there is no software or hardware limitations) for higher user loads & based on 2000 virtual users load test results, we can estimate 4000 virtual users would generate maximum throughput of 400 requests per second.
Lets use the available 2000 virtual user licenses & reduce the think time to ZERO & check what is the maximum throughput level we can achieve using the available licenses.
N = X * (R+Z)
2000 = X * (4+0), Hence X = 500 requests per second.
We can achieve maximum throughput of 500 requests per second (which is the target throughput to be expected for 5000 real users load as per our load test results).
Now in order to run a load test to simulate the server load of 4000 users using 2000 virtual user licenses, lets use think of 1 second instead of 6 seconds.
By substituting in the equation,
2000 = X * (4 + 1)
X = 2000 / 5 = 400 requests per second
We can create a system throughput 400 requests per second using 2000 virtual users licenses provided we use total think time of 1 second. But in this test, a virtual user is not equivalent to a real user. Also, we cannot certify whether there are any performance bottlenecks associated in the system when 4000 users sessions are created, though we can test the system for the server load created by 4000 real time users (400 requests per second).
For more such practical examples & conceptual explanations, enroll in our course “Queuing Theory & its Applications in Performance Testing”