I have tried plethora of configurations with varying values for Number of Threads and Ramp-Up period and also tried to use uniform random timer stuff but in vain. Any help appreciated !
You can use Ultimate Thread Group for varying your concurrency. You can download it via JMeter Plugins Manager.
Here is an example for 60 seconds test duration
with different concurrency:
To generate 50 requests every 5 second means 10RPS
. To generate this scenario, you can use Constant Throughput Timer.
Constant Throughput Timer allows you to maintain the throughput of your server (requests/sec). As Constant Throughput Timer works on minute level, At the end of your test, you will get your desired Throughput which you mentioned in Constant Throughput Timer i.e. if you have mentioned 600/min
in Constant Throughput Timer with "Calculate Throughput based on" value as "All active threads
", you will get 10RPS
.
You can also monitor these by using listeners like Active Threads Over Time and Hits per Second.