What is JMeter? Why it is used?
The Apache JMeterTM is pure Java open source software, which was first developed by Stefano Mazzocchi of the Apache Software Foundation, designed to load test functional behavior and measure performance. You can use JMeter to analyze and measure the performance of web application or a variety of services. Performance Testing means testing a web application against heavy load, multiple and concurrent user traffic. JMeter originally is used for testing Web Application or FTP application. Nowadays, it is used for a functional test, database server test etc.
Have you ever tested a web server to know how efficiently it works? How many concurrent users can a web server handle?
Let say that one day, your boss asks you to do performance testing of www.google.com for 100 users. What would you do?
It's not feasible to arrange 100 people with PC and internet access simultaneously accessing google.com Think of the infrastructure requirement when you test for 10000 users (a small number for a site like google). Hence you need a software tool like JMeter that will simulate real-user behaviors and performance/load test your site.
JMeter advantages are described as figure below
- Open source license: JMeter is totally free, allows developer use the source code for the development
- Friendly GUI: JMeter is extremely easy to use and doesn't take time to get familiar with it
- Platform independent: JMeter is 100% pure Java desktop application. So it can run on multiple platforms
- Full multithreading framework. JMeter allows concurrent and simultaneous sampling of different functions by a separate thread group
- Visualize Test Result: Test result can be displayed in a different format such as chart, table, tree and log file
- Easy installation: You just copy and run the *.bat file to run JMeter. No installation needed.
- Highly Extensible: You can write your own tests. JMeter also supports visualization plugins allow you to extend your testing
- Multiple testing strategy: JMeter supports many testing strategies such as Load Testing, Distributed Testing, and Functional Testing.
- Simulation: JMeter can simulate multiple users with concurrent threads, create a heavy load against web application under test
- Support multi-protocol: JMeter does not only support web application testing but also evaluate database server performance. All basic protocols such as HTTP, JDBC, LDAP, SOAP, JMS, and FTP are supported by JMeter
- Record & Playback - Record the user activity on the browser and simulate them in a web application using JMeter
- Script Test: Jmeter can be integrated with Bean Shell & Selenium for automated testing.
How does JMeter work?
The basic workflow of JMeter as shown in the figures below
JMeter simulates a group of users sending requests to a target server, and return statistics information of target server through graphical diagrams
The completed workflow of JMeter as shown in the figure below
Jmeter Version History
|1||first official release|
|4||Java 8 / 9|