I'm trying to measure response throughput against concurrency for each of the REST APIs that are added into each sampler in a thread group. The Thread Group in my test plan is as follows
Thread Group
- 1st Sampler > HTTP POST /path to REST API/ > result > generates unique ID1 -> RegEx: ${uniqueId1}
1.1. Test Action with 10 seconds pause because POST could take some time to generate unique ID1
2nd sampler > HTTP GET /path to REST API/${uniqueId1} > result > generates unique ID2 -> RegEx: ${uniqueId2}
3rd sampler > HTTP GET /path to REST API/${uniqueId1}/${uniqueId2} > result > generates unique ID3 -> RegEx: ${uniqueId3}
4th sampler > HTTP GET /path to REST API/${uniqueId1}/${uniqueId2}/${uniqueId3}/data > result
As you see since each sampler is dependent on each other I have to add them into one Thread group and functional validation works fine without any issues.
But I need to measure response throughput for each of the REST APIs in each sampler. That means I need to run concurrent threads like 100 to 100K+ to measure throttling limit for each API response.
If I run the above thread group as it is with 10 threads and 5 loop count, each sampler is being waiting until down stream sampler is completed and hence throughput calculation varies because 10 threads are repeating 5 times based on 5 loop count.
So I'm trying to find a way to complete all the POSTs first whether threads count is 10 only or thread count is 10 with 5 loop count and collect all the ${uniqueId1} and pass it to all GET samplers so that POST sampler does not have to wait to complete remaining samplers.
Similarly ${uniqueId2} and ${uniqueId3} should follow the same process.
So is there any way to achieve this in Jmeter? An immediate answer would be much appreciated!
Thanks in advance