Modern Apache JMeter docs: user manual, API and CI/CD guides, distributed testing, interactive calculators, and LLM-friendly reference on docs.jmeter.ai.
Apache JMeter Documentation
Find the JMeter guide that matches the job in front of you: first load test, record traffic, run real load, fix errors, or open a calculator.
Connect your AI agent to JMeter docs
1No API key neededRead the MCP guide →
2Install with Claude Code
claude mcp add jmeter-docs https://docs.jmeter.ai/api/mcp --transport http --scope user2Add to .cursor/mcp.json
{ "mcpServers": { "jmeter-docs": { "url": "https://docs.jmeter.ai/api/mcp" } } }2Add to your Antigravity mcp_config.json
{ "mcpServers": { "jmeter-docs": { "url": "https://docs.jmeter.ai/api/mcp" } } }2Add in Devin Settings → MCP Servers
{ "mcpServers": { "jmeter-docs": { "url": "https://docs.jmeter.ai/api/mcp" } } }2Add to your MCP settings
{ "mcpServers": { "jmeter-docs": { "url": "https://docs.jmeter.ai/api/mcp" } } }2Add to your MCP config
{ "mcpServers": { "jmeter-docs": { "url": "https://docs.jmeter.ai/api/mcp" } } }2Try the endpoint
curl -X POST https://docs.jmeter.ai/api/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Choose the workflow
Stuck or sizing a test? Start with tools and error playbooks. Otherwise pick the task you need to finish.
Start from your goal
Pick the closest target and jump to the guide that gets you moving fastest.
Explore the docs map
Find related JMeter topics - hover to highlight connections, click to navigate, drag to rearrange.
Documentation links by section
Getting Started (2 pages)
Error Playbooks (35 pages)
- Error Playbooks Index
- ConnectException
- SocketTimeoutException
- NoHttpResponseException
- Premature EOF / Connection Aborted
- UnknownHostException
- BindException / Port Exhaustion
- SSLHandshakeException
- SSLPeerUnverifiedException
- Socket closed / reset
- Non HTTP response code
- HTTP 401/403 after recording
- Works in Browser, Fails in JMeter
- HTTP 400 / 415 Bad Request
- HTTP 429 & WAF Rate Limits
- HTTP 500 / 502 / 503 / 504
- HTTP 407 Proxy Authentication
- OutOfMemoryError heap
- OOM: Native Thread Limit
- OOM: Metaspace & GC
- Too Many Open Files (ulimit)
- Throughput stuck
- Freezing, CPU & CLI Hangs
- JMeter Won't Start / Crash on Launch
- Test Stops Early / Unexpectedly
- JSR223 Groovy Script Errors
- ClassNotFound & Missing JARs
- JMX Won't Load / Corrupt Plan
- Extractor Default Value (NOT_FOUND)
- CSV Data Set & Sharing Issues
- Assertion Failed
- Distributed RMI Errors
- JDBC Connection Pool Errors
- GUI works, CLI fails
- HTML Dashboard Errors
Interactive Tools (13 pages)
Components (130 pages)
- All Components
- FTP Request
- HTTP Request
- JDBC Request
- Java Request
- LDAP Request
- LDAP Extended Request
- Access Log Sampler
- BeanShell Sampler
- JSR223 Sampler
- TCP Sampler
- JMS Publisher
- JMS Subscriber
- JMS Point-to-Point
- JUnit Request
- Mail Reader Sampler
- Flow Control Action
- SMTP Sampler
- OS Process Sampler
- Bolt Request
- Simple Controller
- Loop Controller
- Once Only Controller
- Interleave Controller
- Random Controller
- Random Order Controller
- Throughput Controller
- Runtime Controller
- If Controller
- While Controller
- Switch Controller
- ForEach Controller
- Module Controller
- Include Controller
- Transaction Controller
- Recording Controller
- Critical Section Controller
- Sample Result Save Configuration
- Graph Results
- Assertion Results
- View Results Tree
- Aggregate Report
- View Results in Table
- Simple Data Writer
- Aggregate Graph
- Response Time Graph
- Mailer Visualizer
- BeanShell Listener
- Summary Report
- Save Responses to a file
- JSR223 Listener
- Generate Summary Results
- Comparison Assertion Visualizer
- Backend Listener
- CSV Data Set Config
- FTP Request Defaults
- DNS Cache Manager
- HTTP Authorization Manager
- HTTP Cache Manager
- HTTP Cookie Manager
- HTTP Request Defaults
- HTTP Header Manager
- Java Request Defaults
- JDBC Connection Configuration
- Keystore Configuration
- Login Config Element
- LDAP Request Defaults
- LDAP Extended Request Defaults
- TCP Sampler Config
- User Defined Variables
- Random Variable
- Counter
- Simple Config Element
- Bolt Connection Configuration
- Response Assertion
- Duration Assertion
- Size Assertion
- XML Assertion
- BeanShell Assertion
- MD5Hex Assertion
- HTML Assertion
- XPath Assertion
- XPath2 Assertion
- XML Schema Assertion
- JSR223 Assertion
- Compare Assertion
- SMIME Assertion
- JSON Assertion
- JSON JMESPath Assertion
- Constant Timer
- Gaussian Random Timer
- Uniform Random Timer
- Constant Throughput Timer
- Precise Throughput Timer
- Synchronizing Timer
- BeanShell Timer
- JSR223 Timer
- Poisson Random Timer
- HTML Link Parser
- HTTP URL Re-writing Modifier
- User Parameters
- BeanShell PreProcessor
- JSR223 PreProcessor
- JDBC PreProcessor
- RegEx User Parameters
- Sample Timeout
- Regular Expression Extractor
- CSS Selector Extractor
- XPath2 Extractor
- XPath Extractor
- JSON JMESPath Extractor
- Result Status Action Handler
- BeanShell PostProcessor
- JSR223 PostProcessor
- JDBC PostProcessor
- JSON Extractor
- Boundary Extractor
- Test Plan
- Open Model Thread Group
- Thread Group
- WorkBench
- SSL Manager
- HTTP(S) Test Script Recorder
- HTTP Mirror Server
- Property Display
- Debug Sampler
- Debug PostProcessor
- Test Fragment
- setUp Thread Group
- tearDown Thread Group
Functions (50 pages)
- All Functions
- __regexFunction
- __counter
- __threadNum
- __threadGroupName
- __intSum
- __longSum
- __StringFromFile
- __machineName
- __machineIP
- __javaScript
- __Random
- __RandomDate
- __RandomString
- __RandomFromMultipleVars
- __UUID
- __CSVRead
- __property
- __P
- __log
- __logn
- __BeanShell
- __groovy
- __split
- __XPath
- __setProperty
- __time
- __jexl2
- __jexl3
- __V
- __evalVar
- __eval
- __char
- __unescape
- __unescapeHtml
- __escapeHtml
- __urldecode
- __urlencode
- __FileToString
- __samplerName
- __TestPlanName
- __escapeOroRegexpChars
- __escapeXml
- __timeShift
- __digest
- __dateTimeConvert
- __isPropDefined
- __isVarDefined
- __changeCase
- __StringToFile
Topic Guides (33 pages)
- JMeter for Beginners
- API Load Testing
- JWT / OAuth / SSO
- Mutual TLS (mTLS) & Client Certs
- Correlation & Dynamic Values
- HTTP Recorder
- Functions & Variables
- CSV Data Set & Parameterization
- JSR223 Groovy Scripting
- Assertions & SLA Validation
- Logic Controllers & Flow Control
- Timers, Think Time & Pacing
- Thread Groups & Workload Modeling
- JDBC Database Load Testing
- JVM & OS Performance Tuning
- Plugins Essentials
- WebSocket Load Testing
- gRPC / Kafka / MQTT
- Grafana / Influx / Backend Listener
- APDEX / SLOs / Percentiles
- HTML Dashboard & APDEX Customization
- Docker / Kubernetes
- CI/CD Load Testing
- Distributed Testing
- Programmatic / DSL Plans
- Troubleshooting
- Interview Questions
- Tool Comparison Hub
- JMeter vs k6
- JMeter vs Locust
- JMeter vs Gatling
- JMeter vs LoadRunner / NeoLoad
- GUI vs Code-First
User Manual (25 pages)
- Building a Test Plan
- Elements of a Test Plan
- Building a Web Test Plan
- Advanced Web Test Plan
- Database Test Plan
- FTP Test Plan
- LDAP Test Plan
- Extended LDAP Test Plan
- Webservice Test Plan
- JMS Point-to-Point
- JMS Topic Test Plan
- Programmatic Test Plan
- Listeners
- Remote Testing
- Dashboard Report
- Real-time Results
- Best Practices
- Boss
- cURL
- Hints and Tips
- Glossary
- Regular Expressions
- Functions and Variables
- Properties Reference
- Component Reference
Extending JMeter (2 pages)
Reference (10 pages)
Legal (2 pages)
Explore the Documentation
Component Reference
Detailed reference for all JMeter components - samplers, controllers, listeners, timers, assertions, config elements.
Thread Group → HTTP Request → View Results TreeBuilding Test Plans
Step-by-step guides for web, database, FTP, LDAP, JMS, and more.
Test Plan → Thread Group → Sampler → ListenerFunctions & Variables
Built-in functions for dynamic values, scripting, and property access.
${__time(YMD)}Properties Reference
Complete jmeter.properties configuration options.
jmeter.save.saveservice.output_format=csvExtending JMeter
Developer guide for custom samplers and plugins.
public SampleResult sample(Entry e)Best Practices
Guidelines for scalable, maintainable test plans.
Reuse → Parameterize → ModularizeGlossary
Key JMeter terminology explained.
Sampler, Controller, ListenerRemote Testing
Distributed load testing setup.
jmeter -r -n -t test.jmx