JMeter在CentOS上的最佳实践有哪些
导读:JMeter在CentOS上的最佳实践 一 基础安装与环境标准化 使用受支持的 Java 8(OpenJDK 8),在 /etc/profile 或用户 profile 中统一设置 JAVA_HOME 与 PATH,执行 source 使...
JMeter在CentOS上的最佳实践
一 基础安装与环境标准化
- 使用受支持的 Java 8(OpenJDK 8),在 /etc/profile 或用户 profile 中统一设置 JAVA_HOME 与 PATH,执行
source使其生效,并用java -version验证。 - JMeter 建议手动下载官方二进制包(如 5.4.x),解压至 /opt/jmeter 并设置 JMETER_HOME 与 PATH,便于多版本并存与管控。
- 统一 Master/Slave 节点的 JDK 与 JMeter 版本,避免序列化与兼容性问题。
- 如需容器化,可采用 Docker 运行 JMeter,脚本与结果通过卷挂载共享,便于 CI/CD 集成。
二 执行与报告规范
- 压测一律使用 非 GUI 模式,命令范式:
jmeter -n -t < test.jmx> -l < result.jtl> -e -o < report>。-n非 GUI;-t指定脚本;-l输出 JTL(CSV 优先);-e -o生成 HTML 报告(目标目录必须为空)。
- 运行前确保 JTL 文件不存在,否则会报错;如需复用结果,先备份或改名。
- 监听器使用原则:压测阶段 少用或禁用 Listener(尤其是“查看结果树/表格”),避免内存与 I/O 压力;优先使用 CSV 输出 而非 XML。
- 结果分析可在本地 JMeter GUI 中导入 JTL 查看“聚合报告”,或在服务器生成 HTML 报告 后下载查看。
三 分布式压测与网络配置
- 架构建议:在 Master 上编排测试,在 多台 Slave 上产生压力;所有节点保持 JDK/JMeter 版本一致。
- 关键配置:
- Master 的
jmeter.properties中设置remote_hosts=< slave_ip> :1099;必要时设置server.rmi.localport=1099。 - 为简化排障,可在所有节点将
server.rmi.ssl.disable=true(仅测试环境建议)。 - Slave 上可显式设置
server.rmi.host=< 本机IP>,并确保jmeter-server启动并监听。
- Master 的
- 网络与防火墙:开放 RMI 端口 1099/TCP(以及实际用到的端口范围),或在内网隔离环境测试。
- 数据一致性:脚本中的 CSV 参数化文件 需分发到所有 Slave 的 相同绝对路径,并在 CSV Data Set Config 中使用一致的文件名与编码。
四 监控与可观测性
- 目标应用侧:部署 JMeter Plugins 的 PerfMon 监听器采集 CPU、内存、I/O 等指标,定位瓶颈。
- 压测数据可视化:在 JMeter 中添加 InfluxDB Backend Listener,将指标写入 InfluxDB(默认 8086/2003),再用 Grafana 构建实时看板,观察 TPS、响应时间、错误率 随并发变化的趋势。
- 测试流程:先做 单接口基准测试,再逐步提升并发,配合监控数据迭代调优,形成闭环。
五 系统层面与JVM调优
- 资源与内核:
- 关闭不必要的服务,减少干扰;按需调整 Swappiness(如设为 10)与 Swap 使用策略。
- 磁盘 I/O 调度器 视负载选择 deadline/noop;适度调整
vm.dirty_ratio与vm.dirty_background_ratio提升落盘效率。 - 网络参数(示例):
net.core.somaxconn=1024、net.ipv4.tcp_max_syn_backlog=1024、net.ipv4.tcp_max_tw_buckets=5000、net.ipv4.tcp_fin_timeout=30,并启用 网卡多队列 提升吞吐。
- JMeter/JVM:
- 堆内存上限建议不超过 物理内存的 2/3,避免与系统和其他服务争用;通过 JMeter 启动脚本或环境变量配置 HEAP。
- 压测时减少 Listener、使用 CSV、仅保存必要字段与断言,降低内存与磁盘压力。
- 安全提示:生产或受限环境不建议直接关闭 firewalld/SELinux,应基于白名单开放必要端口(如 1099/TCP)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: JMeter在CentOS上的最佳实践有哪些
本文地址: https://pptw.com/jishu/749919.html
