I want to run a load with this below scenarios 1- 4 users each user send 100 requests to the server 2- 4 users all together send 100 requests to the server Server specs 16 GB Ram CPU 4 cores HD 120 I tried many scenarios created 4 samples in the same thread group and put it with 100 tried to used constant throughput timer with 4 threads with target throughput 6000 with 1 sample tried to use throughput shaping timer but it does not generate 100 requests per second for each user, also I has to put large numbers of threads(users) so JMeter can send all requests together or it will stop on the end of the duration I cannot generate this scenario P.s. I user Jmeter 4 and average response time of the request is 250 ms
Constant Throughput Timer can only slow down JMeter thread(s) in order to limit the throughput to the desired value.
If you want to reach 24000 requests per minute (400 requests per second) with 100 threads it means that application response time must be 250ms. If response time will be higher - you won't be able to achieve your goal.
If you're absolutely sure that your application is capable of handling 400 requests per second - try increasing the number of threads in the Thread Group or even better consider Throughput Shaping Timer and Concurrency Thread Group combination, they can be connected via feedback function allowing JMeter to kick off extra threads if current amount is not enough in order to reach/maintain the desired throughput.
Also make sure that JMeter has enough headroom to operate in terms of CPU, RAM, Network, etc. as if JMeter is not capable of sending requests fast enough you will get false-negative results. If you won't be able to conduct the required load from a single machine you will have to go for Remote Testing