I have created a test script with the below scenarios and having thread group count as 100 and ran it for 10 minutes.
Employee Creation took 1 minute during the test script design
Update Employee took 2 minutes during the test script design
In the above mentioned scenario how many concurrent users will be on the system for 10 minutes?
I don't think there is a formula to predict or calculate concurrency as we don't know the number of samplers, response time, etc. so go for one of the following options:
Generate HTML Reporting Dashboard and look into Active Threads Over Time chart - it will show you the actual concurrency.
If you don't want or can not generate the dashboard you can achieve the same using Active Threads Over Time Listener which can be installed using JMeter Plugins Manager as a part of 3 Basic Graphs bundle.
Related
I have a login scenario to be tested for 10000 users, which contains phone# as input and have given in csv file. Im able to perform load testing for 10000 users and able to show the report with total samples, throughput etc post exporting to a file. However issue is customer wants proof that we are giving input as 10000 users and not using loop eg(500 threads * 2 loops). Kindly help with suggestions if we have any option to show that we are using 10000 unique users.
There is a listener called Active Threads Over Time (can be installed using JMeter Plugins Manager) which shows how many users were active during this or that phase of the test
jmeter.log file contains information how many threads were started for this or that Thread Group
.jtl results file contains number of active threads, both overall and in the current Thread Group
HTML Reporting Dashboard contains the Threads Over Time chart
In my test plan I have 5 Thread groups with following number of users for 1HR,
Bulk Upload - 250 User
Log Analyzer - 50 User
Library - 10 User
CSV File Processer - 5 User
XLS File Processer - 5 User
For a particular execution I want to follow the following pattern,
Objective :
Want to execute this for 2HR (this is easy which I changed in the duration)
After every 20-30 min I want to increase the load to 10-20%
means after 30 min (example) the total user for Bulk Upload will became 275 User (if it is 10%) and similar for others and going to execute for 30 min.
And after 1HR of test Bulk Upload will became 302 User and similar for others and going to execute for 30 min.
Is there any way we can do this in JMeter in the same script during the execution.
you can achieve this by using a Ultimate thread group with the following settings.
The easiest is to just increase the total number of threads to 40-80% and amend the ramp-up period accordingly.
Alternatively you can consider using i.e. Concurrency Thread Group or Ultimate Thread Group where you can flexibly specify users arrival rate, something like:
These thread groups can be installed as a part of Custom Thread Groups bundle using JMeter Plugins Manager
I am doing performance testing using JMeter for a 365 dynamics ecommerce website. Script is written and its working fine for following flow: Homepage> category listing> product detail page> add to cart> and complete checkout.
I want to run my script for 200 concurrent users with some time interval. Like, start with 30 concurrent sessions for 10 minutes then increase 60 users with total concurrent session 90 for next 10 minutes. Then increase 44 users with total concurrent session 134 for next 10 minutes, Then increase 66 more users with total concurrent session 200 for next 10 minutes.
I am using ultimate thread group for this but not sure how to set configuration. See attached image.
I think you should amend your setup to introduce initial delay incrementing by 600 seconds for each group of new arrivals. The time to hold the load needs to be reduced by the same factor.
Example setup:
More information:
Ultimate Thread Group documentation
JMeter Ramp-Up - The Ultimate Guide
I have a web page which contains many filters and some as drop-down options. For example, Filter called (Time Range-- with options Last 24 hours, All, Last 7 Days).
The web page supposes to open by 100 users at the same time and select one option from the Time Range drop-down).
Kindly let me know how to find the duration by 100 users at the same time and select one option from the Time Range drop-down).
Thanks in Advance.
JMeter automatically measures response time for each sampler, if you want to have the total time - open .jtl results file using LibreOffice Calc or Microsoft Excel or equivalent and sum up all the response times for all 100 samplers
In order to guarantee the desired concurrency add a Synchronizing Timer as a child of the request and set Number of Simultaneous Users to Group by to 100
Add View results table Listener to the suite to check the duration and Start time of each thread and connect time of each thread.
As I understood you want to check the load of 100 concurrent users clicking the filter , so the login process and its load should not interfere the load testing of users clicking the filter button. Hence, As mentioned in above comment, you can use Synchronizing Timer as child f the requests. What it does is, it is synchronized with the login requests and wait for the response of all the 100 users getting logged in. Once all the 100 users are logged in, Synchronizing Timer play its role by sending (clicking) requests at the same time same second. Cant ensure same milliseconds. There might be small difference in milliseconds, which you can see in View results table (start time).
How can I distribute user load across test scenarios in JMeter? For instance, if I am testing an email system for 400 concurrent users, I would like to apportion the total peak user load as follows:
100 concurrent users checking emails
100 concurrent users replying to emails
100 concurrent users composing new emails
50 concurrent users sending emails with attachments
25 concurrent users making changes to their settings
25 concurrent users doing folder operations
I tried to create one thread group per scenario. But, when I add a scenario to one of the thread groups, other thread groups vanish. It looks like I can't have multiple thread groups and add one scenario per thread group.
There are different approaches for implementing the scenario:
Using different Thread Groups for different groups of users
Using single Thread Group and distribute the load using one of the following:
Throughput Controller
Switch Controller
See Running JMeter Samplers with Defined Percentage Probability article for more information on each of the tecnhiques.
I would suggest you to go with Throughput Controller - this site has the clear explanation you have been looking for - http://www.testautomationguru.com/jmeter-user-load-distribution-using-throughput-controller/.