Operating system Support for JMeter
JMeter is a pure Java application and should run correctly on any system that has a compatible Java implementation.
Here is the list of operating system compatible with JMeter
|Operating system||Java Virtual Machine||Architecture|
|Free BSD 9.0||Open JDK 6||amd64|
|Linux 2.4, 2.6, 3.1||Sun JDK 5, 6, 7 and Open JDK 6||i386, amd64|
|Window XP||Sun JDK6, Sun JDK 7||32/64 bits|
|Window 7||Sun JDK 5, 6, 7.||32 bits|
In this tutorial, we run JMeter on Window operating system
Steps to Install JMeter
Step 1) Install Java
Because JMeter is pure Java desktop application, it requires a fully compliant JVM 6 or higher. You can download and install the latest version of Java SE Development Kit.
After installation is finished, you can use the following procedure to check whether Java JDK is installed successfully in your system
- In Window/Linux, go to Terminal
- Enter command java -version
If Java runtime environment is installed successfully, you will see the output as figure below
If nothing displays, please re-install Java SE runtime environment
Step 2) Download Jmeter
As of this writing, the latest version of JMeter is Apache JMeter 2.9.You can download it here
Choose the Binaries file (either zip or tgz) to download as shown in figure below
Step 3) Installation
Installation of JMeter is extremely easy and simple. You simply unzip the zip/tar file into the directory where you want JMeter to be installed. There is no tedious installation screen to deal with! Simple unzip and you are done!
Once the unzipping is done installation directory structure should look like as figure below
Given below is the description of the JMeter directories and its importance JMeter directory contains many files and directory
- /bin: Contains JMeter script file for starting JMeter
- /docs: JMeter documentation files
- /extras: ant related extra files
- /lib/: Contains the required Java library for JMeter
- /lib/ext: contains the core jar files for JMeter and the protocols
- /lib/junit: Junit library used for JMeter
Step 4) Launch JMeter
You can start JMeter in 3 modes
- GUI Mode
- Server Mode
- Command Line Mode
Start JMeter in GUI Mode
If you are using Window, just run the file /bin/jmeter.bat to start JMeter in GUI mode as shown below
Following figure annotates the various components in the JMeter GUI
Start JMeter in Server Mode
Server mode is used for distributed testing. This Testing works as client-server model. In this model, JMeter runs on server computer in server mode. On client computer, JMeter runs in GUI mode.
To start the server mode, you run the bat file bin\jmeter-server.bat as below figure
Start JMeter in command line mode
JMeter in GUI mode consumes much computer memory. For saving resource, you may choose to run JMeter without the GUI. To do so, use the following command options
This is a command line example
$jmeter -n -t testPlan.jmx - l log.jtl -H 127.0.0.1 -P 8000
Based on your requirement, you will need one or more optional packages listed below.
- Java Compiler
Java Compiler allows developers to build JMeter source code and other JMeter plugins
- SAX XML parser
SAX is the Simple API for XML, originally a Java-only API. You can use SAX XML parser as an alternative to XML parser in JMeter
- Email Support
JMeter has extensive Email capabilities. It can send email based on test results and has a POP3(S)/IMAP(S) sampler. It also has an SMTP sampler.
- JDBC driver
If you want to test database server, you have to install JDBC driver
Use JMeter in Linux
- Using JMeter in Linux is the same as in Window; you simply run the following shell script.
- Run the script file jmeter (This file has no extension)- run JMeter (in GUI mode by default).
- Run the script file jmeter-server - start JMeter in server mode (calls JMeter script with appropriate parameters)
- jmeter.sh - very basic JMeter script with no JVM options specified.
- mirror-server.sh - runs the JMeter Mirror Server in non-GUI mode
- shutdown.sh - Run the Shutdown client to stop a non-GUI instance gracefully
- stoptest.sh - Run the Shutdown client to stop a non-GUI instance abruptly