What is APACHE JMeter ?
The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
Apache JMeter is used to test performance both on static and dynamic resources, Web dynamic applications.
It can be used to simulate a heavy load on a server, group of servers, network or object to test its strength or to analyze overall performance under different load types.
The protocols supported by JMeter are −
- Web − HTTP, HTTPS sites ‘web 1.0’ web 2.0 (ajax, flex and flex-ws-amf)
- Web Services − SOAP / XML-RPC
- Database via JDBC drivers
- Directory − LDAP
- Messaging Oriented service via JMS
- Service − POP3, IMAP, SMTP
- FTP Service
Prerequisites to Install Jmeter :-
JMeter is a pure Java desktop application. It requires a fully compliant JVM 6 or higher. You need to download and install the latest version of Java SE Development Kit.
The Operating Systems compatible with JMeter are:
- Mac OS
In this blog we are using the following versions :-
Ubuntu - 18.04
Java - 1.8.0
Step1 : Install Java
apt-get install openjdk-8-jdk
Step2 : Download Jmeter
Go to : – https://jmeter.apache.org/download_jmeter.cgi and choose the latest version.
Latest version is 5.2. You can choose from the given binaries.
Step3 :- Untar the apache-jmeter-5.2.1.tgz
tar -xzvf apache-jmeter-5.2.1.tgz
Step4 :- Just go to bin folder inside apache-jmeter-5.2.1 directory and run the following command
now JMeter will launch:-
Now that you have understood the installation process, now you can create your own test plan in JMeter with the help of different elements.
Elements of JMeter :-
The different components of JMeter are called Elements. Each Element is designed for a specific purpose. Some of the main elements are :
- Thread Group
1. Thread Group
A Thread Group is a set of threads executing the same scenario . Each thread represents one user using the application under test. It simulates one real user request to the server. The controls for a thread group also allow you to set the number of threads for each group.
JMeter supports testing HTTP, FTP, JDBC, and many more protocols. Thread Groups simulate user request to the server. Samplers help the Thread Group to know which type of requests (HTTP, FTP, etc.) it needs to make.
HTTP request: This sampler lets you send an HTTP/HTTPS request to a web server.
JDBC request: This sampler lets you execute Database Performance Testing. It sends a JDBC Request to a database.
BSF Sampler: This sampler allows you to write a sampler using a BSF scripting language.
Access Log Sampler: This sampler allows you to read access logs and generate HTTP requests.
SMTP Sampler: This sampler is used to send email messages using the SMTP protocol.
Listeners show the results of the test execution. They can show results in a different format such as a tree, table, graph or log file.
- Graph result listeners display the server response times on a Graph
- View Result Tree show results of the user request in basic HTML format
- Table Result show summary of a test result in table format
- Log shows the summary a test results in the text file
4. Configuration Elements
Configuration Elements are used to set up defaults and variables for later use by samplers.
- CSV Data Set Config : The CSV Data Set Config allows you to read different parameters from text file and it is used to read lines from a file, and split them into variables.
- HTTP Cookie Manager : HTTP Cookie Manager has the same feature as a web browser. If you have an HTTP Request and the response contains a cookie, also the Cookie Manager automatically stores that cookie to use it for all future requests.
- HTTP request default : This element lets you set default values that your HTTP Request controllers use.
- Login Config Element : The Login Config Element lets you add or override username and password settings in samplers.
Now you are familiar with JMeter, in the upcoming blogs we will see how to perform simple load tests with JMeter.
In case of any help or query, please contact us or raise a ticket at