Report Analysis · Apache JMeter

Analyzing JMeter HTML Reports

After test execution, JMeter generates an HTML Dashboard Report containing charts, tables, and KPIs to analyze system behavior, response trends, throughput patterns, and SLA compliance.

$ jmeter -n -t test.jmx -l results.csv -e -o report-folder
01

Dashboard (High-Level KPIs)

A

APDEX (Application Performance Index)

🎯
Measures user satisfaction based on response time. Converts technical data into Satisfied / Tolerating / Frustrated users.
APDEX = (Satisfied + Tolerated/2) / Total Samples
CategoryCondition (T = Target RT)
😊 SatisfiedResponse Time ≤ T
😐 ToleratedT < RT ≤ 4T
😤 FrustratedRT > 4T or Failed
1.0 Excellent 0.94+ Very Good 0.85 Acceptable <0.7 Poor
B

Request Summary (Success vs Failure)

📊
Pie chart showing total, successful, and failed requests. High failures indicate server crash, timeout, resource exhaustion, or network issues.
Example: 9,800 Success · 200 Failed → Error Rate = 2%
C

Statistics Table

📋
One of the most important sections — detailed metrics for each request/sampler.
ColumnMeaning
# SamplesNumber of executions
Average / MedianMean / middle response time
Min / MaxFastest / slowest request
Std. DevResponse time variation
Error %Failure percentage
ThroughputRequests/sec per sampler
KB/secData transfer rate
D

Percentiles (90th, 95th, 99th)

📈
Shows how slow the slowest users are. Industry-standard over averages because averages hide outliers.
Example: 95 users at 1s + 5 users at 20s → Average = 1.95s (looks fine!) but 5 users had terrible experience. Percentiles reveal this.
E

Error Table & Top 5 Errors

⚠️
Lists failed requests, HTTP error codes, assertion failures, and identifies most problematic endpoints.
CodeMeaning
400Bad Request
401Unauthorized
500Internal Server Error
502Bad Gateway
503Service Unavailable
504Gateway Timeout
02

Over Time Charts

A

Response Times Over Time

📉
Displays response time vs time throughout the test. Identifies performance degradation, memory leaks, and resource saturation.
Healthy: Flat stable line
Bad: Gradually increasing RT
Example: 0min→1s · 20min→2s · 40min→5s → Performance degradation (memory leak / DB issue / thread exhaustion)
B

Percentiles Over Time

📊
Tracks P90, P95, P99 during execution. If 95th percentile rises from 2s→8s, system is unstable under sustained load.
C

Active Threads Over Time

👥
Verifies correct ramp-up and user distribution. If expected 1000 users but actual is 700 → thread crashes or tool limitation.
D

Bytes Throughput Over Time

📡
Shows incoming/outgoing traffic volume. Identifies network bottlenecks, large payloads, and traffic spikes.
E

Latency / Connect Time Over Time

🌐
Latency = time to first byte. Connect Time = time to establish connection. High connect time → network, DNS, SSL, or LB issue.
03

Throughput Charts

A

Hits Per Second

🎯
Number of requests sent per second. Shows load intensity and traffic generation rate.
Example: 200 hits/sec = 200 requests reaching the server every second.
B

Codes Per Second

🔢
Shows HTTP response codes per second. Helps detect failure spikes (e.g., 200s at 150/sec but 500s jumping to 20/sec).
C

Transactions Per Second (TPS)

💎
Measures completed business transactions/sec — not individual requests. A critical business metric.
Example: Login + Search + Checkout = 1 transaction. If 50 complete flows/sec → TPS = 50.
04

Response Time Charts

A

Response Time Percentiles Chart

📈
Displays percentile distribution 0–100%.
Good: Smooth flat curve
Bad: Sharp rise at 95–100%
B

Response Time Distribution

📊
Shows how many requests fall into RT buckets. Identifies response consistency and slow outliers.
Example: 0–1s: 8,000 · 1–3s: 1,500 · >5s: 500 → 500 requests are outliers needing investigation.
C

Response Time vs Request ⭐ Most Important

🔥
Plots concurrent requests vs response time — identifies the saturation point where the system breaks down.
UsersResponse Time
1001 sec ✅
5002 sec ⚠️
100015 sec ❌
Determines: Maximum supported load, scalability limit, and break-point.
D

Time vs Threads

🧵
Displays response time vs active users. Analyzes scalability, resource exhaustion, and user-load impact.
🔍

Real-World Report Analysis

2 secAvg Response
9 secP95
12%Error Rate
DroppingThroughput
95%CPU
StableThreads
⚡ System Saturation — RT increasing while throughput decreases → CPU bottleneck + slow queries

Report Analysis Summary

SectionPurpose
DashboardOverall health, APDEX, statistics, percentiles, errors
Over Time ChartsPerformance degradation, thread count, latency trends
Throughput ChartsHits/sec, codes/sec, TPS — processing capacity
Response Time ChartsDistribution, saturation point, scalability limits