How to simulate a periodic load pattern in jmeter? - jmeter

I want to repeatedly simulate load that gradually increases, reaches a peak and then gradually decreases. For example, I want to start with 10 HTTP requests for 1 minute, then 20....until 100 (assume this is the peak). Then when it reaches 100, I want the load gradually to fall, to 90,80,70 until it reaches 10. What is the recommended way to achieve this?

I believe the fastest and the easiest way of achieving this is using custom Thread Groups provided via JMeter Plugins project, i.e. Ultimate Thread Group
The fastest and the easiest way of installing these Thread Groups and keeping them up-to-date is using JMeter Plugins Manager, after installing the Plugins Manager
Go to Options -> Plugins Manager from JMeter's main menu
Switch to Available Plugins tab
Locate Custom Thread Groups and tick the relevant box
Click Apply Changes and Restart JMeter button

Related

How to add 10k concurrent users on a website using JMeter?

The requirement is to start with 500 users initially and then increase slowly till 10 thousand.
I am new to performance testing, it would be great if anyone could guide me with the steps.
The easiest option is to go for Stepping Thread Group where you can specify how many threads to start initially and how to increase the load gradually.
Example setup
Stepping Thread Group can be installed using Custom Thread Groups bundle using JMeter Plugins Manager

How can I load reversely On JMeter in Non-GUI

I am using JMeter in Non-GUI environment.
I am increasing load now, e.g. 1...5000, but I want to decrease load gradually, e.g. 5000...1
Is it possible?
I can't use GUI env.
The easiest way is going for Custom Thread Groups plugins, for example:
Ultimate Thread Group
Stepping Thread Group
You can install these Thread Groups as a part of Custom Thread Groups bundle using JMeter Plugins Manager
Alternatively you can also use Timers to introduce ramp-down logic, however it will be mostly dependent on your application response time
More information on above approaches: How to Ramp Down in JMeter

how to perform load test of web application that involves user clicking actions

I need to perform load test on our web application that involves user interaction to the web pages. So i have written selenium scripts to
handle the click events.For,example we have functionalities like some users has to perform signup/registering to our site,some has to login and perform click actions and logout, and a set of users has to visit our home page, click on multiple URL links available on the home page.
In JMeter,i have added one threadgroup each for above mentioned functionalities.Each threadgroup has "JUnit Request Sampler" which calls the selenium methods that has code for performing click actions.
I have setup the "Thread Properties" for the threadgroups to run 200 threads per minute over a span of 5 to 10 mins[target is for 15 mins]
Default browser i am using is "Firefox".I have also set the JMeter properties such that i wouldn't landup into any memory issues.
I am running the scripts in non-gui mode and collecting the result into a jtl file.
The problem i am facing here is, while scripts are executing multiple browsers openup and as each page involves click events,some of the clicks are not happening correctly resulting in increase in error count. If i use very minimal number of threads with time delay then no errors are seen.
I have tried with distributed mode testing as well but there was no major reduce in error count.
I am looking forward for a solution or rather suggestions that can help me out to have minimal or zero errors while running JMeter scripts that involves user interactions and achieve intended load or thereafter increase the load.
Regards
Praveena
As per WebDriver Tutorial it is not recommended to use WebDriver to conduct the load onto the web application
From experience, the number of browser (threads) that the reader creates should be limited by the following formula:
C = B + 1
where C = Number of Cores of the host running the test
and N = Number of Browser (threads).
Looking into Firefox browser requirements I strongly doubt you have a computer with 200 cores and 400 GBs of RAM therefore my expectation is that you should use JMeter's HTTP Request samplers to create the load.
Browsers don't do any magic, they send HTTP Requests and render the responses, so well-behaved protocol-based JMeter tests will look just like a real browser for the application under test. So I would recommend converting your Selenium tests into "pure" JMeter tests, you can leave 1-2 browsers to measure end-user experience when the application is under the load.

Jmeter-Saturation point

How can i know the critical point where the systems breaks.
To analyze the result is the toughest part in Jmeter.I failed to judge it because everytime the result or listeners show different result
Can anyone suggest me what efforts should i put so that i can easily say "that this website is crashing with 500 users or giving no response after certain point."
I also have a problem in configuring the threads that what combination should i entered in thread group.
Because i have to report it further or needs to explain.
Reporting is JMeter's Achilles' heel. You can use JMeter Plugins project which provides
Ultimate Thread Group - which simplifies load scenario definition
Active Threads Over Time - which displays amount of active threads as your test goes
Server Hits Per Second - which provides information how many requests per second your threads provided
You can also consider using Taurus tool which simplifies the process of configuring and executing of JMeter tests and has rich reporting capabilities.

Endurance testing using Jmeter

I am new to Jmeter and trying to understand what all can be achieved using Jmeter. I want to perform endurance or soak testing of a application using Jmeter, i.e. I want to run a particular script for a particluar number of users for a period of 3 hours.
What all options are available to me and what is the best availablelistener to monitor the result?
Please help. Kindly add if I am missing anything that I should know before starting with soak testing?
For setting up the numbers of users and runtime of the test you use a Thread Group. Setting the runtime is done by checking the Scheduler check-box and specifying Duration.
Of the original listeners in JMeter I have found myself most oftenly just using the plain Summary Report. But JMeter Plugins gives additional listeners which may be better, it depends on what you want to measure. The JMeter Plugins also gives additional thread groups, where you can specify e.g. an increasing load over time.
Use a Thread Group to set up your number of users and the duration of your test (using the scheduler of the Thread Group).
Then add all the samplers and logic controllers you need to perform your testing.
Next, add a Summary Report listener to get an overview of your results (min/max/average and such), and add a View Result Tree listener to get an overview of EACH step your testplan is taking. This Tree listener is great to actually see what jmeter is doing, and to debug your tesplan.
BTW: if you add a HTTP Request Defaults object, you can set your URL and options in there, and don't need to add it to each and every sampler again. Especially works like a charm if you start using regexp extractors and such.

Resources