Taiab's Blog

Load Testing with JMeter: My First Real Performance Test

Md. Taiab

Md. Taiab

2025-06-30 ยท 2 mins read


A login page that works perfectly for one user can fall over at 500. Functional testing never reveals that โ€” you need to apply load on purpose and watch what breaks.

The Questions Load Testing Answers

  • How many concurrent users can the system handle before responses slow down?
  • Where's the bottleneck โ€” app, database, or network?
  • Does it degrade gracefully or fall off a cliff?
  • Does it recover after the load drops?

Setting Up a Basic JMeter Test

The building blocks:

Thread Group        โ†’ how many users, how fast they arrive
  HTTP Request      โ†’ the endpoint under test
  HTTP Header Mgr   โ†’ auth tokens, content-type
  Listeners         โ†’ where results are collected

A first run: 100 threads (users), ramping up over 30 seconds, each hitting the search endpoint 10 times.

Reading the Results

|--------|-------------------|
MetricWhat it tells you
Average response timeTypical experience
90th/95th percentileWhat slow users feel โ€” more honest than average
ThroughputRequests/second the system sustains
Error %Where it starts failing under stress

The 95th percentile matters more than the average. An average of 200ms can hide that 1 in 20 users waits 4 seconds.

What My First Test Found

Response time was flat up to ~150 users, then climbed sharply. The bottleneck wasn't the app โ€” it was an unindexed database query that the search hit. Under light load it was invisible. Under load it dominated everything.

Test the Realistic Path, Not Just One Endpoint

Hammering a single endpoint gives a misleading number. Real users log in, browse, search, and check out in sequence. A load test that mirrors that journey surfaces contention โ€” shared connections, locks, caches โ€” that single-endpoint tests never touch.

Md. Taiab

Written by Md. Taiab

Follow

Md. Taiab is a Software QA Engineer and security enthusiast based in Dhaka, Bangladesh. He interned as a QA Engineer at Battery Low Interactive Ltd. and competes in CTFs and programming contests โ€” ranked Top 3% globally on TryHackMe and Champion of GUB Junior IDPC 2023.

Comments disabled โ€” add your CommentBox.io project ID to .env.local as NEXT_PUBLIC_COMMENTBOX_ID