Apache JMeter is an open source pure Java desktop 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. It may be used as a highly portable server benchmark as well as multiclient load generator.
It may be used to test performance both on static and dynamic resources such as static files, Java Servlets, CGI scripts, Java objects, databases , FTP servers, and more. JMeter can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types.
JMeter can also assist regression testing applications by letting you create test scripts with assertions to validate that your application is returning the results you expect. JMeter supports variable parameterization, assertions (response validation), per thread cookies, configuration Variables and a variety of reports.
JMeter architecture is based on plugins.
Features include:
- Load and performance test many different server types:
- Web – HTTP, HTTPS.
-
- SOAP.
-
- Database via JDBC.
-
- LDAP.
-
- JMS.
-
- Mail – SMTP(S), POP3(S) and IMAP(S).
-
- Native commands or shell scripts.
- Complete portability and 100% Java purity.
- Full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.
- GUI design allows faster operation and more precise timings.
- Caching and offline analysis/replaying of test results.
- Highly Extensible:
- Pluggable Samplers allow unlimited testing capabilities.
-
- Several load statistics may be chosen with pluggable timers.
-
- Data analysis and visualization plugins allow great extensibility as well as personalization.
-
- Functions can be used to provide dynamic input to a test or provide data manipulation.
-
- Scriptable Samplers (BeanShell is fully supported; and there is a sampler which supports BSF-compatible languages).
Website: jmeter.apache.org
Support:
Developer: Apache Software Foundation
License: Apache License 2.0

Apache JMeter is written in Java. Learn Java with our recommended free books and free tutorials.
Related Software
| Web Server Benchmarking Tools | |
|---|---|
| Locust | Easy to use, scriptable and scalable performance testing tool |
| Apache JMeter | Load testing and performance measurement application |
| k6 | Modern load testing tool for developers and testers in the DevOps era |
| wrk | Modern HTTP benchmarking tool |
| Siege | HTTP regression testing and benchmarking utility |
| AutoCannon | Fast HTTP/1.1 benchmarking tool |
| Tsung | Multi-protocol distributed load testing tool |
| bombardier | Uses fasthttp instead of Go’s default http library, |
| ApacheBench | Apache (and other web servers) benchmark tool |
| Cassowary | Modern HTTP/S, intuitive & cross-platform load testing tool built in Go |
| Drill | HTTP load testing application written in Rust |
| httperf | HTTP load generator |
| FunkLoad | Web testing tool in the same spirit as Perl's WWW::Mechanize |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

