How to calculate number of bots vs number of hits #343
-
|
Although I have the rfswarm up and running, I am struggling with a concept... Provided 50 bots with 0 delay, 5 min ramp up, running for 10 minutes, results in +- 1700 hits. I am not sure how the 1700 is calculated or putting this in other words, assume that I want to generate a load of 4000 hits per second, how would I calculate the robots required along with the ramp up and run times? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
This is a tricky question because the answer really is it depends on your test cases, and also the settings you use in RFSwarm. The way to find the answer is the same as it is with all performance test tools, run one robot (virtual user) for 10 minutes and measure how many hits it generates, divide this by 10 to get hits per robot per minute, then divide that by 60 to get hits per robot per second. Then divide the number of hits per second by the hits per robot per second, to get the number of robots you need. Based on what you gave me I can approximate it: Start with the ramp-up half the time you have less than half the robots and the other half you have more than half, so halve the ramp-up time and attribute all the hits generated in ramp-up to half the ramp-up time, this should be approximately equal to 50 robots running for that half the ramp-up time.
This might not be the answer you wanted, 88,000 is a lot of robots, but then 4000 hits per second is a pretty bit performance test (I've never had a customer request that in nearly 20 years of performance testing) There is some good news, review your test case and see if there's a lot of validation or assertion steps in it? if so, make a copy of the test and remove all but the most essential assertions, this will reduce the CPU load on the agent machines and should make your robots able to run a bit quicker. You might also want to check if the 4000 hits per second requirement is correct? in my experience this sounds high, but it could be right, doesn't hurt to double check how that number was arrived at. After tuning your robot tests (removing assertions that aren't relevant to performance and maybe reducing sleeps) rerun a small test and use the process I showed above to work out how many robots you need, you can repeat this process as many times as you need now you know how to calculate it. In many places I've worked we had a spreadsheet where we would plugin the number of hits for 1 user over 10 minutes and it would calculate the number of users we needed for that test, this was helpful when you have over 30 tests in a performance scenario and they all had different specific target rates usually in my case it's based on completed business processes per hour, so I just take the last step in each test and measure how many 1 user/robot can do per hour. Hopefully that helps, Dave. |
Beta Was this translation helpful? Give feedback.
This is a tricky question because the answer really is it depends on your test cases, and also the settings you use in RFSwarm.
The way to find the answer is the same as it is with all performance test tools, run one robot (virtual user) for 10 minutes and measure how many hits it generates, divide this by 10 to get hits per robot per minute, then divide that by 60 to get hits per robot per second. Then divide the number of hits per second by the hits per robot per second, to get the number of robots you need.
Based on what you gave me I can approximate it:
Start with the ramp-up half the time you have less than half the robots and the other half you have more than half, so halve the ramp…