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:
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
Basic Execution Setup
Publish Page Load Test Plan (Publisher):
Configuration
HTTP Cookie Manager Configuration
Add element: Test Plan → Thread Group → Add → Config Element → HTTP Cookie Manager