温馨提示×

jmeter性能测试centos环境

小樊
40
2025-11-16 04:20:53
栏目: 智能运维

在 CentOS 上搭建 JMeter 性能测试环境

一 环境准备与安装

  • 安装 Java 8(JMeter 5.x 要求 Java 8+):执行命令:sudo yum install -y java-1.8.0-openjdk-devel;验证:java -version
  • 下载并解压 Apache JMeter(示例版本 5.4.3):
    wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz
    sudo tar -xzf apache-jmeter-5.4.3.tgz -C /opt/
    sudo ln -s /opt/apache-jmeter-5.4.3 /opt/jmeter(便于多版本管理)。
  • 配置环境变量(全局生效):编辑 /etc/profile,追加
    export JMETER_HOME=/opt/jmeter
    export PATH=$JMETER_HOME/bin:$PATH
    使配置生效:source /etc/profile;验证:jmeter -v
  • 说明:JMeter 为 Java 应用,推荐在 Linux 服务器非 GUI 模式运行压测。

二 快速执行一次压测

  • 准备脚本:在 Windows GUI 中创建并调试 .jmx 脚本,上传至 CentOS(如 /opt/jmeter/scripts/test.jmx)。
  • 运行测试(非 GUI):
    jmeter -n -t /opt/jmeter/scripts/test.jmx -l /opt/jmeter/results/test.jtl
    常用参数:
    • -n 非 GUI 模式;-t 指定脚本;-l 指定结果文件(JTL/CSV)。
  • 生成 HTML 报告:
    jmeter -g /opt/jmeter/results/test.jtl -e -o /opt/jmeter/report/test-report
  • 查看结果:将 .jtl 下载到本地,在 JMeter 的聚合报告/查看结果树中分析;或在服务器上直接打开生成的 HTML 报告。

三 分布式压测配置

  • 架构说明:一台 Master 控制多台 Slave 产生压力;各节点需安装相同版本的 JavaJMeter
  • 配置步骤:
    • 在所有节点编辑 $JMETER_HOME/bin/jmeter.properties
      • 建议关闭 RMI SSL:server.rmi.ssl.disable=true
      • 设置本地 RMI 端口:server.rmi.localport=1099
    • Master 节点指定远程从节点:
      remote_hosts=192.168.1.101:1099,192.168.1.102:1099
    • 启动服务:在各 Slave 执行 $JMETER_HOME/bin/jmeter-server;在 Master 执行测试:
      jmeter -n -t /opt/jmeter/scripts/test.jmx -R192.168.1.101:1099,192.168.1.102:1099
  • 提示:确保 1099 端口及服务器间网络互通,防火墙/安全组已放行。

四 性能与稳定性调优要点

  • 使用 非 GUI 模式运行压测,可显著降低资源占用,提升单机可模拟并发数。
  • JVM 堆内存:编辑 $JMETER_HOME/bin/jmeter(或 jmeter.sh)中的 HEAP 参数,建议不超过物理内存的 2/3,避免 OOM。
  • 系统网络与文件句柄
    • 适当提升文件句柄数(ulimit -n)、内核网络参数(如 net.core.somaxconnnet.ipv4.ip_local_port_range)以支撑高并发连接。
    • 被测系统/网关(如 Nginx)的最大连接数、超时等也需同步调优,避免成为瓶颈。
  • 结果文件:压测建议输出 CSV,便于落地分析与二次处理;HTML 报告用于结果展示。

五 可选 监控与持续集成

  • 监控可视化:部署 InfluxDB + Grafana 采集并展示 JMeter 指标(如响应时间、吞吐量、错误率),适合长时间压测与容量评估。
  • CI/CD:结合 Jenkins 执行定时/触发式压测、归档 JTL/HTML 报告,实现性能回归与门禁。

0