For AI agents: the complete documentation index is available at https://nhanbe.id.vn/llms.txt, the full documentation bundle is available at https://nhanbe.id.vn/llms-full.txt, and this page is available as Markdown at https://nhanbe.id.vn/others/tools/jmeter.md.

Load testing and performance measurement guidelines using Apache JMeter

JMeter

What is Apache JMeter?

Apache JMeter is an open-source tool designed to generate automated requests and simulate concurrent users to measure system performance. It generates load and captures HTTP-level metrics such as response time, throughput, and error rate. While originally built for HTTP testing, JMeter supports a wide range of protocols:

  • HTTP / HTTPS
  • REST API
  • SOAP
  • JDBC
  • FTP
  • JMS
  • TCP
  • LDAP

Use Cases

UC-1: Reproducing Concurrency Bugs

Example Scenario: "The homepage slows down significantly around 9:00 AM." Opening a browser returns a 200ms response time and hides the issue. Running JMeter with 500 simulated concurrent users reveals response times, CPU/Memory spikes, and error rates.

UC-2: Component Performance Impact Verification

Example Scenario: Page structure:

Home -> Banner -> Hero -> Search Component -> Recommendation Component -> Footer

After modifying the Search Component, verify its performance impact: Baseline average: 200ms. Post-change average: 400ms? Executing JMeter with 100 requests reports Min, Max, Average, and 95th Percentile response times to determine if the component degrades page performance.


Core Features & Usage Frequency

FeatureUsage Frequency
Thread GroupVery High
HTTP RequestVery High
HTTP Header ManagerVery High
Cookie ManagerVery High
CSV Data Set ConfigHigh
AssertionsHigh
Response Time ReportVery High
Summary ReportVery High
View Results TreeHigh (Debugging focused)
TimersMedium
Regular Expression ExtractorMedium
Authentication / Login FlowHigh

Basic Execution Setup

Publish Page Load Test Plan (Publisher):

Test Plan
|___Thread Group
	|___HTTP Cookie Manager
	|___HTTP Request (Login)
	|___HTTP Request (Get Page)
	    |___Aggregate Report
	    |___Summary Report
	    |___View Results Tree

Configuration

Add element: Test Plan → Thread Group → Add → Config Element → HTTP Cookie Manager

PropertyValue
Clear cookie each iterationTrue
Cookie PolicyStandard

Login HTTP Request Configuration

FieldValue
Protocolhttp
Server namelocalhost
Port4502
MethodPOST
Path/libs/granite/core/content/login.html/j_security_check
j_usernameadmin
j_passwordadmin
j_validatetrue

Page HTTP Request Configuration

FieldValue
Protocolhttp
Server namelocalhost
Port4502
MethodGET
Path/content/mysite/en/page-1.html