首页主机资讯如何用centos分析jmeter测试报告

如何用centos分析jmeter测试报告

时间2025-12-18 17:57:03发布访客分类主机资讯浏览411
导读:在 CentOS 上分析 JMeter 测试报告的高效做法 一 生成 HTML 报告 准备环境:安装 Java 8+,下载解压 Apache JMeter(建议 5.x),在 非 GUI 模式执行压测并落盘 JTL,再用 JMeter...

在 CentOS 上分析 JMeter 测试报告的高效做法


一 生成 HTML 报告

  • 准备环境:安装 Java 8+,下载解压 Apache JMeter(建议 5.x),在 非 GUI 模式执行压测并落盘 JTL,再用 JMeter 生成可视化报告。
  • 执行压测并直接导出报告
    • 命令:
      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
      
    • 关键参数:
      • -n:非 GUI 模式
      • -t:JMX 脚本路径
      • -l:结果文件路径(JTL)
      • -e:测试结束后生成报告
      • -o:HTML 报告输出目录(必须为空或不存在)
  • 已有 JTL 再生成报告
    ./jmeter -g /path/to/results.jtl -e -o /path/to/report
    
  • 报告查看
    • 在本地或服务器上用浏览器打开报告目录中的 index.html。若需在服务器本机查看,可临时开启端口转发(如 ssh -L 8080:127.0.0.1:8080 user@your-centos),然后访问 http://127.0.0.1:8080

二 HTML 报告关键指标解读

  • Dashboard
    • APDEX(0–1):越接近 1 表示用户满意度越高,综合衡量响应时间与容忍阈值。
    • Requests Summary:总体 OK/KO 比例,快速判断稳定性。
    • Statistics:核心统计(如 Average/Median/90%/95%/99%/Min/MaxThroughputError % 等),相当于聚合报告与概要报告的合并视图。
    • Errors:按错误类型聚合,定位主要失败原因(如 5xx、超时、连接失败)。
  • Charts
    • Over Time
      • Response Times Over Time:响应时间随时间的波动,观察拐点与抖动。
      • Active Threads Over Time:并发线程数变化,验证是否按预期加压。
      • Bytes Throughput Over Time / Latencies Over Time:吞吐与延迟趋势,识别瓶颈。
    • Throughput
      • Hits Per Second / Transactions Per Second(TPS)/ Codes Per Second:系统处理能力、每秒事务数与状态码分布。
    • Response Times
      • Response Time Percentiles:中位数、P90/P95/P99 等更能代表大多数用户体验。

三 命令行快速分析 JTL

  • 直接用 JMeter 生成 HTML 报告(适合一次性分析)
    ./jmeter -g results.jtl -e -o report
    
  • 仅查看关键统计(无 GUI 时推荐)
    • 将 JTL 转为 CSV 并提取核心字段(示例)
      # 将 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
      
  • 使用插件生成图表(在无头环境导出 PNG)
    • JMeterPlugins-Standard/Extras 的 JAR 放入 JMETER_HOME/lib/ext,然后:
      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
      
    • 常用图表类型:ResponseTimesOverTime、TransactionsPerSecond、BytesThroughputOverTime、LatenciesOverTime、ResponseCodesPerSecond、ThreadsStateOverTime

四 实时监控与长期可视化

  • 架构与端口
    • 使用 JMeter Backend Listener 将指标写入 InfluxDB,通过 Grafana 展示;常用端口:2003(InfluxDB 接收)、8086(Grafana 查询)、3000(Grafana Web)。
  • InfluxDB 配置要点(示例)
    • 启用 Graphite 输入插件,设置数据库为 jmeter,端口 2003,并开启 HTTP 接口。
  • JMeter 配置要点
    • 在线程组添加 Backend Listener,选择 InfluxDBBackendListenerClientGraphiteBackendListenerClient,配置 graphiteHostgraphitePortsummaryOnly=falsepercentiles 等。
  • Grafana 使用
    • 启动 Grafana,访问 http://:3000(默认账号 admin/admin),添加 InfluxDB 数据源(URL http://localhost:8086,数据库 jmeter),导入 JMeter 仪表盘模板,即可查看 TPS、响应时间百分位、活跃线程 等实时曲线。

五 常见问题与排查

  • 报告目录非空导致失败
    • 报错信息通常提示输出目录必须为空;执行前清理或更换目录:
      rm -rf /path/to/report &
          &
           mkdir -p /path/to/report
      
  • 分布式压测生成报告
    • 使用 -r 启动远程代理,再生成报告(与普通流程一致):
      ./jmeter -n -t test.jmx -r -l results.jtl -e -o report
      
  • 服务器本机无法打开报告
    • 使用 SSH 端口转发或临时安装轻量 Web 服务(如 python3 -m http.server 8080)在服务器上提供报告访问。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何用centos分析jmeter测试报告
本文地址: https://pptw.com/jishu/775305.html
centos inotify使用有什么限制 jmeter在centos上的安装包在哪下载

游客 回复需填写必要信息