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?
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 requestnetwork.http.speculative-parallel-limitand it defaults to6so you need to put the requests which need to be concurrent under the Parallel Controller