在 CentOS 上分析 JMeter 测试报告的高效做法
一 生成 HTML 报告
cd /opt/apache-jmeter-5.4.3/bin
./jmeter -n -t /path/to/testplan.jmx -l /path/to/results.jtl -e -o /path/to/report
./jmeter -g /path/to/results.jtl -e -o /path/to/report
ssh -L 8080:127.0.0.1:8080 user@your-centos),然后访问 http://127.0.0.1:8080。二 HTML 报告关键指标解读
三 命令行快速分析 JTL
./jmeter -g results.jtl -e -o report
# 将 JTL 转为 CSV(含必要列)
cat results.jtl \
| tr '\t' ',' \
| awk -F',' 'NR==1 || $2 ~ /^[0-9]/ {
gsub(/"/,"",$2); gsub(/"/,"",$3); gsub(/"/,"",$5); gsub(/"/,"",$6);
printf "%s,%s,%s,%s,%s\n", $2,$3,$5,$6,$8
}' \
| sort -t',' -k1n \
> summary.csv
# 计算平均响应时间、P95、最大响应时间、错误率
awk -F',' '
NR>1 {
sum+=$3; count++; if($3>max) max=$3; if($3<$min || min=="") min=$3
if($5>0) errors++; times[NR]=$3
}
END {
asort(times); p95=times[int(count*0.95)];
printf "样本数: %d\n平均RT: %.2f ms\nP95: %.2f ms\n最大RT: %.2f ms\n错误率: %.2f%%\n",
count, sum/count, p95, max, errors/count*100
}' summary.csv
cd $JMETER_HOME/lib/ext
java -jar CMDRunner.jar --tool Reporter \
--generate-png rt_over_time.png --input-jtl results.jtl --plugin-type ResponseTimesOverTime
java -jar CMDRunner.jar --tool Reporter \
--generate-png tps.png --input-jtl results.jtl --plugin-type TransactionsPerSecond
四 实时监控与长期可视化
五 常见问题与排查
rm -rf /path/to/report && mkdir -p /path/to/report
./jmeter -n -t test.jmx -r -l results.jtl -e -o report
python3 -m http.server 8080)在服务器上提供报告访问。