← New search

Other meanings of Apache JMeter

Software

Apache JMeter

Apache JMeter is an open-source load-testing tool developed by the Apache Software Foundation. It is used to analyze and measure the performance of web applications, databases, and other services. Originally written in Java, it supports a wide range of protocols including HTTP, HTTPS, FTP, JDBC, SOAP, and REST. JMeter can simulate heavy loads on servers, networks, or objects to test their strength and analyze overall performance under different load types.

5.6.3
Latest stable version
Version
1998
Initial release
Release date
Apache License 2.0
Software license
License
1

Overview

Apache JMeter was originally created by Stefano Mazzocchi in 1998 and later became part of the Apache Jakarta Project.3 It was designed primarily for testing the performance of web applications, but its architecture allows it to be extended to other protocols and services. The tool is written entirely in Java, making it platform-independent.1 JMeter's distributed testing capabilities enable it to simulate large numbers of concurrent users from multiple machines, coordinating via a master-slave configuration. Over time, it has become a standard tool in the software development lifecycle for performance testing, often integrated into continuous integration pipelines.

2

Features

JMeter provides a graphical user interface for designing test plans, as well as a command-line mode for non-interactive execution.2 Its test plan is composed of Thread Groups, Samplers, Listeners, Assertions, and Controllers. The tool supports a rich set of built-in samplers for HTTP, FTP, JDBC, SOAP, and other protocols, and can be extended with custom plugins from the community. JMeter also includes a proxy server recorder that captures browser activity to generate test scripts automatically. Distributed testing is a key feature, allowing tests to be scaled across multiple machines to generate high loads without requiring expensive hardware.

3

Usage

JMeter is widely used in software development for performance testing during continuous integration pipelines.1 It integrates with tools like Jenkins, Maven, and Gradle to automate load tests as part of build processes. Typical use cases include measuring response times, throughput, and error rates under various load conditions, as well as stress testing to identify system breakpoints. JMeter is also employed for API testing, particularly for REST and SOAP services, and for database performance testing with JDBC. Its ability to generate detailed reports and graphs makes it useful for both developers and QA engineers.

4

Lesser-known aspects

Beyond load testing, JMeter can be used for functional testing and database performance testing.5 It supports the BeanShell and JSR223 scripting languages for custom logic, allowing testers to implement complex scenarios. JMeter also includes a Test Action sampler that can pause or stop execution, and a Random Variable config element for generating dynamic data. The tool can be run in a non-GUI mode from the command line, making it suitable for headless environments. Interestingly, JMeter's original name was "WASP" (Web Application Stress and Performance), but it was renamed before release. Its distributed mode uses RMI (Remote Method Invocation) for communication, which can be a security consideration in production networks.

Glossary

Thread Group
Defines the number of virtual users and the ramp-up period for a test plan.
Sampler
Sends requests to a server or service and measures the response time.
Listener
Collects and displays test results, such as graphs, tables, and reports.
Assertion
Validates that a response meets specified criteria, such as containing a particular text.
Controller
Controls the flow of a test plan, including logical branching and loops.