I have a jmeter script that simulates sending 5 requests / second for 10 users for 5 minutes. I want to stop sending requests when the request number reaches 15 000. I want to be sure that EXACT 15000 requests have been sent and send not more not less. What's the best and simplest way to achieve this ?
Related
I have to run a script for examination centre.
So the requirement is that the image APIs should hit after 30 seconds of time interval.
I have added loop controller, in that I have added a timer of 30 seconds.
But the problem is the image APIs response time is > 1 and we want to run next API after 30 seconds but currently next loop is executing after getting response from first API i.e 60 seconds
So is there a way that next API will hit after 30 seconds even if response of first API has not come yet?
But the problem is the image APIs response time is > 1 and we want to run next API after 30 seconds but currently next loop is executing after getting response from first API i.e 60 seconds
So is there a way that next API will hit after 30 seconds even if response of first API has not come yet?
If you don't care about response times and other metrics you can just set the response timeout to 1000 ms under Advanced tab of the HTTP Request sampler (or even better HTTP Request Defaults, this way the setting will be propagated to all HTTP Request samplers in the HTTP Request Defaults scope)
I Want to make a test case to send 50,000 Requests with 400 RPS using Jmeter.
I have been suggested to use combination of Concurrency thread group and Throughput Shaping Timer for this use case and I have tried following from the following link: https://www.blazemeter.com/blog/using-jmeters-throughput-shaping-timer-plugin.
Here the problem is I only get ~28K responses recorded in csv instead of 50K.
I need to make 400 RPS irrespective of the request sent the previous second
I also need to have time difference of ~1sec for each 400 rows so that I can confirm 400 requests are sent every second.
Any Other suggestions to achieving the same result are also okay.
I have used 400 as start and end rps and duration of 125 second considering 400 * 125 = 50,000
I have attached the image of my concurrency thread group too
In order to be able to send 400 RPS with 400 threads your application must respond in 1 second or less because JMeter waits for the response from previous sampler before starting the next one. If your application response time will be 2 seconds - you will get 200 RPS, 4 seconds - 100 RPS, etc.
If your application response time is higher - you need to increase the number of threads proportionally, your 40 spare threads might be not sufficient.
Also JMeter needs to be able to send requests fast enough so make sure to follow JMeter Best Practices and go for Distributed Testing if needed
If your application under test cannot handle 400 RPS - there is nothing you can do from JMeter side, you can only identify the bottleneck and either report it or fix it yourself prior to re-running the test
I have to test 500 request per second in a loop count of 100 (Totally 50,000 request) using Jmeter.
I have to send 500 each sec irrespective of me getting a response, i.e.even if my previous 500 requests fails, I have to send my next 500 requests.
Currently I have used a constant timer of 1 second and set the Thread count to 500 and Loop count to 100 with a Ramp up period of 1.
And I don't think I'm getting the desired results correctly.
So what settings I must use to achieve the desired result.
If you mean:
send 500 requests
wait 1 second
send another 500 requests
wait 1 second
repeat steps 1-2 98 more times
you need to amend your test plan configuration to include Synchronizing Timer with Number of Simultaneous Users to Group by set to 500 and replace the Constant Timer with the Flow Control Action sampler
learning using jmeter and getting problem when reading graph listener output
creating Thread group with number thread 8, ram-up 1 and loop forever
adding listener active threads over time, hits per seconds, response times over times
result:
a. in Active Threads Over Time getting correct result with maximum 8 thread
b. in Hits per Second, graph result is really weird, there is 148 number of hist/sec
trying to debug and change thread to 1, Hits per Second still generate weird graph with 20 hits/sec
any idea why this happening?
i use latest release from jmeter 3.0
As I had clarified here, jp#gc - Hits per Second, this listener shows the total number of requests sent to the server per second. Per Second is by default - it can be changed in the settings tab.
When you have 1 user, JMeter sends 18-20 requests / second (Loop forever will keep sending the requests for the user as soon as the user gets the response). So, The user was able to make 19 requests in a second. When you have 8 users, the test plan sends around 133 requests. It seems to work fine and nothing weird here.
When you have 8 users, JMeter would not have any issues in sending the first 8 requests (first request for each thread).But the subsequent requests for each thread will be sent only if the response is received for the previous request. (if you have any timers to simulate user think time,then the user will wait for the duration to send the next request after the response is received).
If 1 user is able to make 19 requests (or server processed 19 requests per second), then 8 users should be able to send 152 requests. But, when you increase the user load/increase the number of requests sent to the server, It's throughput (number of requests the server can process / unit time) will also increase gradually as shown in the picture. If you keep increasing the user, at one point, you would see the server's throughput (number of hits / second) gets saturated / would not increase beyond this point. So, may be, here the server got saturated at 133 requests / second. That is why we could not see 152 requests for 8 users. To understand the behavior, you need to increase user (ramp up) slowly.
Check here for few tips on JMeter
Hello I have to make like 200 simultaneous Ajax requests the mysql that takes around of 30 seconds every query.
But the browser only allows to run 6 at one time.
Its is posible to increase the number of simultaniously ajax requests in a browser?
Thanks!