I have a Load test with following details:
Number of threads: 100
Ramp up time: 1 second
Thread group
|---HTTP Request1
I want the following:
100 threads to run in 1 sec
15 second delay
Then 100 threads run again
15 secs delay
.
.
.
.
Any leads would be helpful.
Amend your test configuration as follows:
Loop Controller - set how many loops you want
HTTP Request
Test Action -> Action: Pause -> Duration: 15000
Synchronizing Timer -> Number of Simultaneous Users to Group by: 100
Related
how can I check my requirement of 100 requests are processed in less than 1 second in my gatling3 report. I ran this using jenkins.
my simulation looks like as below
rampConcurrentUsers(1) to (100) during (161 second),
constantConcurrentUsers(100) during (1 minute)
Below is my response time percentile graph of two executions for an interval of one second.
enter image []1 here
What does the min,max here will tell us, i am assuming the percentages 25%-99% are the completion of the request.
Those graph sections are not what you're after - they show the distribution of response times and the number of active users.
So min is the fastest response time
max is the longest
95% is the response time for which 95% of your requests were under
and so on...
So what you could do is look at the section of your graph corresponding to the 100 constant concurrent users injection stage. In this part you would require that the max response time always be under 1 second
(Note: there's something odd with your 2nd report - I assume it didn't come from running the stated injection profile as it has more than 100 concurrent users active)
I should run only 30 tasks per hour and maximum 2 tasks per minute. I am not sure how to configure these 2 conditions at the same time. Currently I have the following setup:
- name: task-queue
rate: 2/m # 2 tasks per minute
bucket_size: 1
max_concurrent_requests: 1
retry_parameters:
task_retry_limit: 0
min_backoff_seconds: 10
But I don't understand how to add first condition there.
I would like to run a http request in thread group for jmeter. But it should be run per 40 minute. Therefore it should be run with frequency.
Also Im using jmeter 2.12 and jdk 1.7. So how can I configure this proceed and should I use any timer or anything?
Thread group
- Get token request
It should be run automatically every 40 minute.
Please advice me,
Your expectation is correct:
Thread Group (1 thread, loop count: forever or enough loops)
Get Token Request
Constant Timer (Thread delay: 2400000)
In this case Get Token Request method will be fired every 40 minutes (40 * 60 * 1000) where 40 is minutes, 60 is seconds per minute and 1000 is milliseconds per second
Take a look at How to Use Variables in Different Thread Groups guide to learn how to use fresh token in another Thread Group if needed.
I am using Jmeter 2.11
I have a "counter" it include 1 to 1000 userId
And i send :
Number of threads = 1
Ramp-up perioid = 1
Loop = Forever
but "Loop" is not waiting 1 requst per second, it send all at once!
I added "Constant Timer" but it is not effect true delay so:
When i set "Constant Timer = 1000" it effect "request delay time" + "Constant Timer" so its greater then 1 second!
So i just want send 1 request per 1 second with forever loop? (i dont want request legancy)
What should my Jmeter hierarchy?
I think you need to add a constant throughput to the thread.
Here is the info.
It set samples per minute so in your case if you want 1 sample per second, would be 60 samples per minute. hope this fix your problem.
In Task Queues code is executed to connect to the server side
through URL Fetch.
My file queue.yaml.
queue:
- Name: default
rate: 10 / m
bucket_size: 1
In such settings, Tusk performed all at once, simultaneously.
Specificity is that between the requests should be delayed at least 5
sec. Task must perform on stage with a difference> 5 sec. (but
does not parallel).
What are the values set in queue.yaml?
You can't specify minimum delays between tasks in queue.yaml, currently; you should do it (partly) in your own code. For example, if you specify a bucket size of 1 (so that more than one task should never be executing at once) and make sure the tasks runs for at least 5 seconds (get a start=time.time() at the start, time.sleep(time.time()-(5+start)) at the end) this should work. If it doesn't, have each task record in the store the timestamp it finished, and when it start check if the last task ended less than 5 seconds ago, and in that case terminate immediately.
The other way could be store the task data in table. In your task-queue add a id parameter. Fetch 1st task from table and pass its id to task queue processing servlet. In servlet at the end delay for 5 second and feth next task, pass its id and.... so on.