This document explains how to run a performance test with JMeter .
I’ve completed performance test on frequently used API for test App.
50 Concurrent Request with 10 Loop Count; Avg TPS for Total Samples is 309.56 And Total Concurrent API requested: 300.
500 Concurrent Request with 10 Loop Count; Avg TPS for Total Samples is 1449.09 And Total Concurrent API requested: 3000.
While executed 500 concurrent request found 6 request Non HTTP response code and error rate is 0.20%.
Server can handle almost concurrent 2700 API call with almost zero (0) error rate.
Java: https://www.oracle.com/java/technologies/downloads/
JMeter: https://jmeter.apache.org/download_jmeter.cgi
- JMeter 5.5,Java 19 are supported.
- 16 GB ram is good.
1.Thread Group: The root element of every test plan.Simulates the (concurrent) users and then run all requests.Each thread simulatesa single user.
2.HTTP Header Manager Request : Configuration Element
3.HTTP Request :Sampler
4.Summary Report: Listener
Testplan > Add > Threads (Users) > Thread Group (this might vary dependent on
the jMeter version you are using)
Name: Practice1
Number of Threads (users): 50 to 500
Ramp-Up Period (in seconds): 10
Loop Count: 1
1. The general setting for the tests execution, such as whether Thread Groups will run simultaneously or sequentially, is specified
in the item called Test Plan.
2. All HTTP Requests will use some default settings from the HTTP Request,such as the Server IP, Port Number, and Content-Encoding.
3. Each Thread Group specifies how the HTTP Requests should be carried out.To determine how many concurrent "users" will be simulated,
one must first know the number of threads. The number of actions each "user" will perform is determined by the loop count.
4. The HTTP Header Manager, which allows you to provide the Request Headers that will be utilized by the upcoming HTTP Requests,
is the first item in Thread Groups
1.https://reqres.in/api/register
4.https://reqres.in/api/users/2
5.https://reqres.in/api/users/23
6.https://reqres.in/api/unknown
File > Open (CTRL + O)
Locate the "Practice1.jmx" file contained on this repo
The Test Plan will be loaded
JMeter should be initialized in non-GUI mode.
Make a report folder in the bin folder.
Run Command in jmeter\bin folder.
n: non GUI mode
t: test plan to execute
l: output file with results
jmeter -n -t Practice1_50.jmx -l OPENCART_T1.jtl
jmeter -g report\OPENCART_T1.jtl -o OPENCART_T1.html
g: jtl results file
o: path to output folder
Number of Threads 50 ; Ramp-Up Period 10s
Number of Threads 500 ; Ramp-Up Period 10s
Stress Testing is a type of software testing that evaluates how the software responds under extreme conditions. It verifies how robust a system will be, and its response capabilities and error handling when it is subjected to conditions where its normal functioning can be compromised.
Spike testing is a type of performance testing where the demand for an application is suddenly and drastically increased or decreased. Spike testing's objective is to ascertain how a software program will behave under highly variable traffic conditions.