JMeter - calling multiple APIs in a script based on waterfall in network tab calls

276 Views Asked by At

I'm doing performance testing for a group of APIs called in a particular page. Currently, all the API requests are run in the order in which I've added them in the script. But when observing the waterfall part in the network tab of developer tools, some of the APIs are called only after a specific API is called and the API receives a response. The problem is, I cannot add any timer to it, because the delay is not constant and varies from time to time. For e.g. refer to the waterfall part of the API calls in the below image:

screenshot of API calls in network tab

Here, the search API is called only after the autoComplete API is called and it gets an response. The same for contentUsers and count APIs (depends on the response from search API and has to wait until then). Then finally, fetch API is called in the end. I want to achieve the same in my JMeter script, is it possible?

1

There are 1 best solutions below

0
Dmitri T On
  1. the delay is not constant and varies from time to time - there are JMeter Timers which can produce varying delay. My expectation is that the time between sending the next requests is somehow related to the previous call response time and the behaviour of JavaScript runtime event loop. Even Constant Timer will not be "constant" if you use __Random() function there. However I do believe that you can ignore the delays between requests in the waterfall chart, if you check start time of the requests you will see that it's either absent or around a couple of milliseconds and JMeter in its turn also needs some time to prepare and send the request
  2. Those requests which are triggered at the same time in the waterfall should be executed at the same time (in Firefox the setting is called network.http.speculative-parallel-limit and it defaults to 6 so you need to put the requests which need to be concurrent under the Parallel Controller