Performance Testing October 16, 2026 5 min read

Apache JMeter Tutorial for Beginners: Your First Load Test

Apache JMeter is the free, open-source tool most QA teams reach for when they need to know whether an application holds up under load. This tutorial takes you from download to your first load test, and shows the one mistake almost every beginner makes.

What Is Apache JMeter?

Apache JMeter is a Java application from the Apache Software Foundation for load and performance testing. It simulates many users sending requests, mostly over HTTP/HTTPS but also JDBC, JMS, FTP and more, and measures response times, throughput and errors.

JMeter does not run a real browser, so it does not execute your page's JavaScript. It tests the server side. For browser-level functional tests you use a tool like Playwright. Performance testing is one of the types of software testing every tester should understand.

Install Apache JMeter

  1. Install Java 8 or higher (JMeter 5.6.3, the current release, requires Java 8+). Check with java -version.
  2. Download the binary zip or tgz from jmeter.apache.org. Use the Binaries section, not Source.
  3. Unzip it anywhere (avoid folders with spaces on Windows).
  4. Start the GUI: bin/jmeter.bat on Windows, bin/jmeter on macOS/Linux.
Terminal
java -version
cd apache-jmeter-5.6.3/bin
./jmeter          # macOS / Linux
jmeter.bat        # Windows

Key JMeter Concepts

ElementWhat it does
Test PlanThe container for everything in your test
Thread GroupVirtual users: number of threads, ramp-up period, loop count
SamplerA request, e.g. HTTP Request
Config ElementShared settings, e.g. HTTP Request Defaults, CSV Data Set Config
AssertionChecks a response, e.g. Response Assertion for status or text
ListenerShows or saves results, e.g. Summary Report
TimerAdds think time between requests

Build Your First Test Plan

  1. Right-click Test Plan → Add → Threads (Users) → Thread Group. Set 10 threads, ramp-up 10 seconds, loop count 5.
  2. Right-click the Thread Group → Add → Sampler → HTTP Request. Enter protocol https, the server name and a path, e.g. /.
  3. Add Assertions → Response Assertion and check the response code equals 200.
  4. Add Timer → Constant Timer (e.g. 1000 ms) so users don't fire requests back-to-back.
  5. Add Listener → Summary Report for a quick smoke run.
  6. Save the plan as first-test.jmx.

Only load test systems you own or have written permission to test. Hitting someone else's site with load can look like an attack.

Run the Load Test in CLI (Non-GUI) Mode

This is the beginner mistake: running real load from the GUI. The official JMeter docs say GUI mode should only be used to create the test script, and that CLI mode must be used for load testing. The GUI itself uses memory and CPU and distorts your results.

Terminal
jmeter -n -t first-test.jmx -l results.jtl -e -o report
FlagMeaning
-nNon-GUI (CLI) mode
-tThe test plan (.jmx) to run
-lFile to log results to (.jtl)
-eGenerate the HTML dashboard after the run
-oOutput folder for the dashboard (must be empty or new)

Read the HTML Report

Open report/index.html. Start with these numbers:

  • APDEX: a 0–1 user-satisfaction score based on response-time thresholds.
  • Error %: anything above zero needs investigating before you look at speed.
  • Response time percentiles (90th/95th/99th): more honest than averages, because averages hide slow outliers.
  • Throughput: requests per second the system handled.

JMeter vs k6 vs Locust

JMeterk6Locust
Tests written inGUI (saved as XML .jmx)JavaScriptPython
Learning curveEasy to start with the GUIEasy for JS developersEasy for Python developers
ProtocolsVery broad (HTTP, JDBC, JMS, FTP…)HTTP-focused, plus extensionsHTTP-focused, extensible
Fits CIYes, via CLI modeYesYes

Compare more tools in our software testing tools guide.

Where JMeter Fits in a QA Career

JMeter is a specialist skill. Most entry-level QA roles first expect strong fundamentals: test cases, bug reports, regression testing and some automation. Then performance testing is a strong addition. If you are just starting out, build those foundations first and add JMeter on top.

Our courses don't teach JMeter in depth. If you are new to testing, Manual Testing & QA with AI covers the QA foundations that come first, including functional and non-functional testing.

Frequently Asked Questions

Is Apache JMeter free?

Yes. JMeter is free and open source under the Apache License 2.0.

Which Java version does JMeter need?

JMeter 5.6.3, the current release, requires Java 8 or higher.

Why should I not run load tests in the JMeter GUI?

The official documentation says the GUI is for creating test scripts only. The GUI uses CPU and memory, which distorts results, so run load in CLI mode with jmeter -n -t plan.jmx -l results.jtl.

Can JMeter test a website's JavaScript?

No. JMeter sends requests but does not run a browser or execute JavaScript. Use Playwright for browser behaviour and JMeter for server load.

Is JMeter good for beginners?

Yes. The GUI makes it easy to build a first test plan, and the HTML dashboard makes results readable. Learn testing fundamentals alongside it.


Asim Noaman - Playwright and Claude AI course instructor

Asim Noaman

Senior QA Automation Engineer & AI Testing Specialist

With years of hands-on experience building test automation frameworks for production applications, Asim specializes in combining traditional QA methodologies with cutting-edge AI tools. He has helped teams adopt Playwright and AI-driven testing workflows to ship faster with fewer bugs.

Udemy Instructor Published course author
Playwright + AI Expert Specialized in AI-powered QA
Production Experience Enterprise-grade frameworks
Connect on LinkedIn

Start Here · No Experience Needed

Manual Testing & QA with AI: Get Your First QA Job

Learn software testing from zero: test cases and test plans, bug reports, Agile and JIRA, web and mobile app testing, then speed it all up with ChatGPT and Claude. 4.5★ (90+ ratings) · 660+ students · 108 lectures · 12 hours on Udemy.

  • Test cases, test plans and bug reports from real requirements
  • SDLC, Agile/Scrum and JIRA the way real QA teams work
  • Web, cross-browser and mobile app testing
  • AI interview role-play and practice questions
Enroll in Manual Testing & QA →

Want AI to write your tests, no coding? AI Software Testing for Beginners · Already automating? Playwright + Claude AI · Which course is right for me?