# Apache JMeter

> Apache JMeter is an open source, self-hosted load testing tool from Apache Software Foundation, scripted in Java, Groovy.

- Canonical: https://perf.jmeter.ai/tools/apache-jmeter/
- Review: https://perf.jmeter.ai/reviews/apache-jmeter/
- Official: https://jmeter.apache.org/
- Source: https://github.com/apache/jmeter
- Vendor: Apache Software Foundation
- Category: Load Testing
- License: Open Source — Free; Apache License 2.0.
- Deployment: Self-hosted
- Status: Active
- Scripting: Java, Groovy
- Protocols: HTTP, HTTPS, JDBC, JMS, FTP, TCP
- OS support: Windows, macOS, Linux
- First released: 1998
- Latest release: 5.6.3 (2024-01-09)
- Last verified: 2026-08-11

## What it is
Apache JMeter is a Java-based load and performance testing application. It supports HTTP, JDBC, JMS, FTP, TCP, and other protocols through test elements and plugins.

## Choose it when
- Load Testing scenarios across typical web and service stacks
- Teams that prefer open-source licensing and self-hosting options
- Groups comfortable scripting in Java, Groovy

## Look elsewhere when
- Teams unwilling to operate generators, results storage, and scaling

## Architecture
Apache JMeter is commonly operated as self-hosted software with scenario authoring in Java, Groovy. Concurrency and distribution depend on how you size workers or injectors.

## Pricing
Open source (free)

## Compare
- [JMeter vs k6](https://perf.jmeter.ai/vs/apache-jmeter-vs-grafana-k6/) — Pick JMeter if non-developers must record and edit plans in a GUI.
- [JMeter vs Gatling](https://perf.jmeter.ai/vs/apache-jmeter-vs-gatling/) — Choose Gatling for code-first HTTP performance with strong reporting DNA.
- [JMeter vs LoadRunner Professional](https://perf.jmeter.ai/vs/apache-jmeter-vs-loadrunner-professional/) — Keep LoadRunner when support contracts and legacy protocols are non-negotiable.
- [Apache JMeter vs Locust](https://perf.jmeter.ai/vs/apache-jmeter-vs-locust/) — The practical split is the authoring language: Java, Groovy for Apache JMeter, Python for Locust.
- [Apache JMeter vs Artillery](https://perf.jmeter.ai/vs/apache-jmeter-vs-artillery/) — The practical split is the authoring language: Java, Groovy for Apache JMeter, JavaScript, TypeScript for Artillery.
- [Apache JMeter vs NeoLoad](https://perf.jmeter.ai/vs/apache-jmeter-vs-neoload/) — The practical split is the cost model: Apache JMeter is open source, NeoLoad is commercial.
- [Apache JMeter vs BlazeMeter](https://perf.jmeter.ai/vs/apache-jmeter-vs-blazemeter/) — The practical split is the cost model: Apache JMeter is open source, BlazeMeter is commercial.
- [Apache JMeter vs Taurus](https://perf.jmeter.ai/vs/apache-jmeter-vs-taurus/) — The practical split is the authoring language: Java, Groovy for Apache JMeter, Python, YAML for Taurus.
- [Apache JMeter vs Tsung](https://perf.jmeter.ai/vs/apache-jmeter-vs-tsung/) — The practical split is the authoring language: Java, Groovy for Apache JMeter, Erlang, XML for Tsung.
- [Apache JMeter vs The Grinder](https://perf.jmeter.ai/vs/apache-jmeter-vs-the-grinder/) — The practical split is the authoring language: Java, Groovy for Apache JMeter, Jython, Java for The Grinder.
- [Apache JMeter vs Azure Load Testing](https://perf.jmeter.ai/vs/apache-jmeter-vs-azure-load-testing/) — The practical split is the cost model: Apache JMeter is open source, Azure Load Testing is commercial.
- [Apache JMeter alternatives](https://perf.jmeter.ai/alternatives/apache-jmeter/)

## FAQ
### Who is Apache JMeter for?
Apache JMeter is best for engineers designing load, stress, and performance tests for web and service systems. It is open source, so teams can self-host and extend it. Vendor: Apache Software Foundation. Deployment model: self-hosted. Free; Apache License 2.0. Confirm details against the official site and a short proof-of-concept in your environment.

### How does Apache JMeter differ from Grafana k6?
Compared with Grafana k6, scripting centers on Java, Groovy rather than JavaScript, TypeScript. Apache JMeter lists protocols HTTP, HTTPS, JDBC, JMS, FTP, TCP; Grafana k6 lists HTTP, HTTPS, WebSocket, gRPC. Status is active versus active. Use the Test Rig to compare full specs side by side before a proof-of-concept.

### What scripting language and concurrency model does Apache JMeter use?
Apache JMeter uses Java, Groovy for scripting or scenario definition. Runtime model: GUI-oriented authoring with optional scripting for advanced flows. OS support: Windows, macOS, Linux. Protocols: HTTP, HTTPS, JDBC, JMS, FTP, TCP. Match these to how your team already authors tests and which systems you must drive under load.

### What is the cloud or enterprise path for Apache JMeter?
Apache JMeter is primarily self-hosted; teams typically run generators on their own machines, CI runners, or private cloud. Plan for generator capacity, network access to targets, and result storage yourself. As open source, commercial support or hosted siblings may exist separately. Check the official site. Pricing note: Free; Apache License 2.0.

### What are known limitations of Apache JMeter?
Apache JMeter limitations to weigh: self-hosted tools require you to provision, scale, and observe load generators yourself. Status: active. Always validate against your target protocols and scale with a proof-of-concept. Confirm details against the official site and a short proof-of-concept in your environment.

---
Curated by NaveenKumar Namachivayam (QAInsights) · methodology: https://perf.jmeter.ai/about/#methodology · corrections: https://github.com/QAInsights/Performance-Testing-Tools/issues/new?title=Tool%20submission%3A%20&body=Tool%20name%3A%20%0AOfficial%20URL%3A%20%0AWhat%20should%20be%20added%20or%20corrected%3F%20%0A