# apache/jmeter

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/apache-jmeter).**

9,233 stars · 2,265 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/apache/jmeter
- Homepage: https://jmeter.apache.org/
- awesome-repositories: https://awesome-repositories.com/repository/apache-jmeter.md

## Topics

`java` `performance` `test`

## Description

Apache JMeter is a Java-based performance testing tool and multi-protocol traffic simulator used to analyze the stability and scalability of servers and networks. It functions as a distributed load testing framework that coordinates remote worker nodes from a single controller to generate high volumes of concurrent traffic.

The project is distinguished by its ability to simulate traffic across diverse backend systems, including HTTP, JDBC, LDAP, JMS, FTP, and TCP. It provides a headless command-line interface for automated execution and a reporting system that transforms raw sample logs into analytical dashboards featuring APDEX scores and response time percentiles.

The framework covers a broad set of capabilities for test engineering, including browser traffic recording, data parameterization via external files, and response validation. It includes utilities for data extraction using JSONPath, XPath, and regular expressions, as well as traffic management tools for throughput throttling and connection emulation.

Extensibility is supported through a plugin-based architecture that allows for the development of custom samplers, GUI components, and the integration of custom Java code or scripting languages.

## Tags

### Testing & Quality Assurance

- [Distributed Load Generation](https://awesome-repositories.com/f/testing-quality-assurance/distributed-load-generation.md) — Coordinates multiple remote worker nodes to generate massive traffic loads from a single controller.
- [Performance Test Design](https://awesome-repositories.com/f/testing-quality-assurance/automation-interaction-tools/test-automation-tools/test-planning-utilities/test-plan-configurations/performance-test-design.md) — Allows the design of complex performance tests via manual setup or by recording actual browser traffic. ([source](https://jmeter.apache.org/usermanual/get-started.html))
- [Dynamic Response Correlation](https://awesome-repositories.com/f/testing-quality-assurance/dynamic-response-correlation.md) — Extracts values from server responses and passes them into subsequent requests to maintain session state. ([source](https://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.html))
- [Test Parameterization](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/test-parameterization.md) — Injects external values from CSV files or properties into samplers to simulate varied user credentials. ([source](https://jmeter.apache.org/usermanual/best-practices.html))
- [HTTP Load Testing](https://awesome-repositories.com/f/testing-quality-assurance/http-load-testing.md) — Simulates high volumes of concurrent web traffic to measure server stability and throughput.
- [HTTP Request Clients](https://awesome-repositories.com/f/testing-quality-assurance/http-request-clients.md) — Executes programmatic HTTP requests to web servers to validate backend services and performance. ([source](https://jmeter.apache.org/usermanual/component_reference.html))
- [Performance Analysis](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-analysis.md) — Analyzes REST and SOAP service responses to identify performance bottlenecks and latency.
- [Performance Testing](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-testing.md) — Simulates heavy load on servers and networks to analyze stability across multiple protocols.
- [Load Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-testing/load-testing-tools.md) — Evaluates system stability and scalability by analyzing performance under heavy simulated user traffic. ([source](https://jmeter.apache.org/usermanual/get-started.html))
- [Sampler Logic Extensions](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/mocking-frameworks/custom-logic-extensions/sampler-logic-extensions.md) — Provides pluggable components and scripting integration to add custom sampling capabilities and data manipulation. ([source](https://jmeter.apache.org/index.html))
- [Performance Testing Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/performance-testing-frameworks.md) — Provides a framework for measuring system scalability and stability through scripted network requests.
- [Virtual User Simulation](https://awesome-repositories.com/f/testing-quality-assurance/virtual-user-simulation.md) — Simulates concurrent traffic by spawning multiple threads that execute scripted scenarios in parallel.
- [Execution Hierarchies](https://awesome-repositories.com/f/testing-quality-assurance/automation-interaction-tools/test-automation-tools/test-planning-utilities/execution-hierarchies.md) — Organizes test logic as a nested structure of elements that define execution flow and configuration.
- [Test Report Exporters](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-reporters/external-result-reporters/tap-result-exporters/test-report-exporters.md) — Saves performance data and execution outcomes in CSV or XML formats for external reporting. ([source](https://jmeter.apache.org/usermanual/properties_reference.html))
- [Remote Execution Controls](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/test-execution-controls/remote-execution-controls.md) — Provides a remote server via HTTP or Telnet to modify test properties and throughput during execution. ([source](https://jmeter.apache.org/usermanual/best-practices.html))
- [Performance Metric Exports](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-diagnostics/result-sharing/performance-metric-exports.md) — Streams real-time performance metrics and raw data to external time-series databases for deeper analysis. ([source](https://jmeter.apache.org/usermanual/properties_reference.html))
- [Test Execution Management](https://awesome-repositories.com/f/testing-quality-assurance/testing-infrastructure-management/test-execution-management.md) — Manages the execution of test elements using loops, conditional statements, and random selection. ([source](https://jmeter.apache.org/usermanual/component_reference.html))
- [User Behavior Pacing](https://awesome-repositories.com/f/testing-quality-assurance/user-behavior-pacing.md) — Introduces pauses between requests using various distributions to simulate realistic user behavior. ([source](https://jmeter.apache.org/usermanual/component_reference.html))

### Data & Databases

- [Data Extraction](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-extraction-ingestion/data-extraction.md) — Parses information from structured or unstructured responses to correlate data between sequential network requests. ([source](https://cdn.jsdelivr.net/gh/apache/jmeter@master/README.md))
- [XPath 2.0 Parsing](https://awesome-repositories.com/f/data-databases/content-extraction/xpath-2-0-parsing.md) — Supports the XPath 2.0 standard to parse XML namespaces and capture complex data points from responses. ([source](https://jmeter.apache.org/changes_history.html))
- [JSONPath Extraction](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-extraction-ingestion/data-extraction/jsonpath-extraction.md) — Retrieves specific values from JSON responses using standard JSONPath syntax for data correlation. ([source](https://jmeter.apache.org/changes_history.html))
- [XML Parsers](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-serialization/xml-parsers.md) — Queries XML files using XPath to retrieve matching nodes sequentially for use in tests. ([source](https://jmeter.apache.org/usermanual/functions.html))
- [Database Connectivity](https://awesome-repositories.com/f/data-databases/database-connectivity.md) — Uses database drivers to execute queries and measure the response time of data layers. ([source](https://jmeter.apache.org/usermanual/get-started.html))
- [Database Query Execution](https://awesome-repositories.com/f/data-databases/database-query-execution.md) — Executes SQL statements against databases using connection pools to measure performance. ([source](https://jmeter.apache.org/changes_history.html))
- [File-Based Data Import](https://awesome-repositories.com/f/data-databases/file-based-data-import.md) — Loads comma-separated values from external files to provide unique data for test iterations. ([source](https://jmeter.apache.org/usermanual/functions.html))
- [Web Data Extraction](https://awesome-repositories.com/f/data-databases/web-data-extraction.md) — Extracts data from HTML, CSS, and WML responses using configurable parser implementations. ([source](https://jmeter.apache.org/usermanual/properties_reference.html))

### DevOps & Infrastructure

- [Distributed Testing Grids](https://awesome-repositories.com/f/devops-infrastructure/distributed-testing-grids.md) — Provides the infrastructure and coordination required to scale automated test execution across multiple remote nodes. ([source](https://jmeter.apache.org/changes_history.html))
- [Traffic Throttling](https://awesome-repositories.com/f/devops-infrastructure/traffic-management/traffic-throttling.md) — Introduces variable pauses to maintain a specific target rate of samples per unit of time. ([source](https://jmeter.apache.org/usermanual/component_reference.html))
- [Database Stress Testing](https://awesome-repositories.com/f/devops-infrastructure/worker-node-management/distributed-orchestration/stress-testing-platforms/database-stress-testing.md) — Evaluates database performance and scalability by running concurrent JDBC queries and SQL statements.

### Networking & Communication

- [Multi-Protocol Load Testing](https://awesome-repositories.com/f/networking-communication/multi-protocol-load-testing.md) — Executes performance tests across diverse communication protocols including HTTP, WebSockets, and JMS. ([source](https://jmeter.apache.org/index.html))
- [Request Timeout Configurations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/http-client-libraries/http-client-configurations/request-timeout-configurations.md) — Sets maximum wait times for requests to ensure tests fail fast when servers are unresponsive. ([source](https://jmeter.apache.org/changes_history.html))
- [Real-time Event Streams](https://awesome-repositories.com/f/networking-communication/real-time-event-streams.md) — Transmits performance metrics from execution threads to listeners for real-time reporting.

### Software Engineering & Architecture

- [Master-Worker Coordination](https://awesome-repositories.com/f/software-engineering-architecture/distributed-coordination-systems/task-coordinations/master-worker-coordination.md) — Coordinates remote worker nodes via a central controller to generate high-volume traffic.
- [Third-Party Plugins](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/third-party-plugins.md) — Loads third-party JAR files from specified directories to extend the tool with new samplers and GUI elements. ([source](https://jmeter.apache.org/usermanual/properties_reference.html))
- [Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/plugin-architectures.md) — Supports extending the framework's functionality by adding JAR files to the classpath without requiring a full system build. ([source](https://jmeter.apache.org/building.html))
- [Test Scripting Engines](https://awesome-repositories.com/f/software-engineering-architecture/custom-scripting-engines/test-scripting-engines.md) — Embeds multiple language runtimes to allow custom logic and data manipulation during test execution.
- [Test Sequence Control](https://awesome-repositories.com/f/software-engineering-architecture/execution-flow-control/test-sequence-control.md) — Enables controlling the test execution path by breaking loops or skipping iterations based on result status. ([source](https://jmeter.apache.org/changes_history.html))
- [Sampler Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/abstraction-domain-modeling/contract-abstraction-patterns/framework-abstraction-layers/sampler-interfaces.md) — Standardizes the execution and measurement of diverse network protocols through a common sampler interface.
- [CSS Selector Engines](https://awesome-repositories.com/f/software-engineering-architecture/syntax-query-definitions/css-selector-engines.md) — Employs CSS and jQuery-like selector engines to isolate specific elements or text from HTML pages. ([source](https://jmeter.apache.org/changes_history.html))

### Web Development

- [Request Simulators](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/routing-request-handling/http-request-handlers/request-simulators.md) — Simulates requests via HTTP, JDBC, LDAP, JMS, FTP, and TCP to verify backend system performance.
- [Traffic Recorders](https://awesome-repositories.com/f/web-development/web-automation-scraping/web-scraping-automation/browser-automation/browser-session-recorders/traffic-recorders.md) — Captures HTTP and HTTPS traffic via a proxy to automatically generate testable request sequences. ([source](https://jmeter.apache.org/usermanual/best-practices.html))
- [Web Traffic Simulators](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/routing-request-handling/http-request-handlers/request-simulators/web-traffic-simulators.md) — Replicates real user behavior by recording browser traffic via a proxy to create test plans.
- [Poisson Arrival Simulation](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/routing-request-handling/http-request-handlers/request-simulators/web-traffic-simulators/poisson-arrival-simulation.md) — Produces a constant throughput of requests based on a Poisson distribution for realistic traffic simulation. ([source](https://jmeter.apache.org/changes_history.html))
- [HTTP Cookie Managers](https://awesome-repositories.com/f/web-development/http-cookie-managers.md) — Automates the lifecycle of HTTP cookies to maintain session state across sequential requests. ([source](https://jmeter.apache.org/changes_history.html))
- [Response Validation](https://awesome-repositories.com/f/web-development/response-validation.md) — Verifies that server responses match expected patterns, contain specific text, or adhere to size limits. ([source](https://jmeter.apache.org/usermanual/component_reference.html))

### Business & Productivity Software

- [Performance Monitoring Dashboards](https://awesome-repositories.com/f/business-productivity-software/performance-monitoring-dashboards.md) — Transforms raw sample logs into HTML dashboards featuring APDEX scores and response time percentiles.

### Development Tools & Productivity

- [Automated Test Execution](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/test-execution-management/automated-test-execution.md) — Provides a command-line interface to trigger and run performance test suites without a graphical user interface. ([source](https://jmeter.apache.org/index.html))
- [Dynamic Variable Evaluators](https://awesome-repositories.com/f/development-tools-productivity/dynamic-variable-evaluators.md) — Resolves nested expressions and placeholders at runtime to inject parameterized data into requests.
- [Inter-Thread State Management](https://awesome-repositories.com/f/development-tools-productivity/global-configuration-managers/inter-thread-state-management.md) — Implements global properties to communicate state and synchronize data between different concurrent threads and groups. ([source](https://jmeter.apache.org/usermanual/functions.html))
- [Headless Test CLIs](https://awesome-repositories.com/f/development-tools-productivity/headless-test-clis.md) — Provides a command-line interface for executing complex test plans without a graphical user interface.
- [Regular Expressions](https://awesome-repositories.com/f/development-tools-productivity/regular-expressions.md) — Uses regular expressions to parse and extract specific strings from server responses or variables. ([source](https://jmeter.apache.org/usermanual/functions.html))

### Programming Languages & Runtimes

- [Custom Runtime Logic](https://awesome-repositories.com/f/programming-languages-runtimes/custom-runtime-logic.md) — Harnesses custom Java classes to implement specialized sampling logic and data collection routines. ([source](https://jmeter.apache.org/usermanual/component_reference.html))
- [Thread-Synchronized Execution](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/execution-models/multi-threaded-execution/thread-synchronized-execution.md) — Blocks a specific number of threads and releases them simultaneously to create peak loads. ([source](https://jmeter.apache.org/usermanual/component_reference.html))
- [Random Data Generators](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/core-conceptual-frameworks/programming-language-concepts/random-number-generation/random-number-generators/random-data-generators.md) — Produces random numbers, dates, and strings to simulate varied and realistic user input. ([source](https://jmeter.apache.org/usermanual/functions.html))

### System Administration & Monitoring

- [Performance Reporting](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors/performance-visualization/performance-reporting.md) — Generates dynamic HTML dashboards featuring APDEX scores, response time percentiles, and throughput graphs. ([source](https://jmeter.apache.org/changes_history.html))
- [Metric Time-Series Graphs](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors/performance-visualization/time-based-performance-visualizers/metric-time-series-graphs.md) — Produces time-series visualizations for specific sample variables found in logs using custom properties. ([source](https://jmeter.apache.org/usermanual/generating-dashboard.html))

### Part of an Awesome List

- [Core Distributions](https://awesome-repositories.com/f/awesome-lists/devtools/core-distributions.md) — The primary source code repository for the testing application.
- [Testing Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/testing-frameworks.md) — Feature-rich tool for load testing and performance analysis.
