In short
Apache JMeter is free, open source and has been around for over two decades. You build a test plan in a GUI, then it fires hundreds of virtual users at your app.
A widely used open-source performance testing tool — building test plans that simulate many concurrent virtual users hitting an application, and measuring how it holds up.

Think of it like this
An army of identical helpers
Imagine 500 identical helpers, each told: walk to the shop, ask for the price, note how long it took, repeat. You're the supervisor with the clipboard. JMeter's thread group is that army, and each thread is one helper.
Watch it happen
Inside a JMeter test plan
1/5The test plan is the root. Everything else sits inside it.
The big ideas
What you need to know
Threads are users
Number of threads is virtual users. Ramp-up is how many seconds it takes to start them all.
Samplers send requests
HTTP Request is the main sampler. Others exist for JDBC, FTP and more.
Assertions catch wrong answers
A fast response with an error page is still a failure. Assert on status and content.
GUI to build, CLI to run
Build and debug in the GUI. Run real load from the command line, which uses far less memory.
See it in code
Walk through the code
1# Run a saved test plan in non-GUI mode2jmeter -n -t checkout.jmx -l results.jtl3 4# Same run, plus an HTML dashboard report5jmeter -n -t checkout.jmx -l results.jtl -e -o report/6 7# Pass the user count in as a property8jmeter -n -t checkout.jmx -Jusers=200 -l results.jtl1/3-n means no GUI, -t is the test plan, -l is where raw results go.
In the plan, read the property with ${__P(users,10)} in the thread count field. Open report/index.html after the run.
Save yourself the pain
Common mistakes
Oops
Running a big load test from the JMeter GUI with listeners showing every result live.
Do this instead
Run in non-GUI mode and generate the report afterwards. The GUI eats memory and skews results.
Oops
Firing all 500 threads in one second with no ramp-up.
Do this instead
Use a sensible ramp-up unless you're deliberately testing a spike.
Your mission
Build a tiny JMeter plan
Quick check
Why run real JMeter load tests in non-GUI mode?
Go deeper
- 1Set up JMeter and build a basic test plan simulating multiple users hitting a sample endpoint.
- 2Learn JMeter's core components: thread groups, samplers, and listeners.
- 3Practice running a small load test and reviewing the resulting response time data.
More topics at this stop
Stuck on this topic? Ask an Insider
Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.