Ubuntu JMeter使用技巧有哪些
导读:Ubuntu 下 JMeter 使用技巧 一 安装与环境准备 使用 OpenJDK 8/11(或系统默认 JDK),安装后执行 java -version 验证;JMeter 5.x 建议使用 Java 8/11。 下载 Apache J...
Ubuntu 下 JMeter 使用技巧
一 安装与环境准备
- 使用 OpenJDK 8/11(或系统默认 JDK),安装后执行
java -version验证;JMeter 5.x 建议使用 Java 8/11。 - 下载 Apache JMeter 二进制包,解压至如 /opt/apache-jmeter-5.4.3;设置环境变量:
export JMETER_HOME=/opt/apache-jmeter-5.4.3export PATH=$JMETER_HOME/bin:$PATH
- 验证安装:
jmeter -v;GUI 模式运行./bin/jmeter,无头环境优先用命令行。 - 目录要点:
bin/(含 jmeter.sh、jmeter.properties、jmeter-server)、lib/ext/(放插件 JAR)。
二 命令行运行与报告生成
- 非 GUI 执行(推荐):
- 基本:
jmeter -n -t /path/test.jmx -l /path/result.jtl - 生成 HTML 报告:
jmeter -n -t /path/test.jmx -l /path/result.jtl -e -o /path/report
- 基本:
- 常用开关:
-j指定日志;非 GUI 模式显著降低资源占用。 - 在无头服务器上,建议仅生成 CSV/JTL 与 HTML 报告,不在测试过程中打开“查看结果树”。
三 测试计划编写与常用元件
- 参数化:使用 CSV Data Set Config 读取外部数据,驱动多账号/多场景;注意 绝对路径一致(分布式时从机也要放置同路径文件)。
- 断言与校验:添加 响应断言 配合 断言结果 监听器,自动判定业务成功/失败。
- 定时器与集合点:使用 同步定时器(Synchronizing Timer) 实现瞬时并发(Ramp-Up 后瞬间释放线程)。
- 逻辑控制器:在控制器中使用 __jexl3 表达式时,字符串常量需加引号,例如:
${ __jexl3('${ var} '=='value',)}。 - 结果监听:压测时避免 View Results Tree 等高开销监听器,优先 Aggregate Report / Summary Report;如需排查再临时启用。
- 代理录制:使用 HTTP 代理服务器 录制浏览器/移动端流量;录制前安装 CA 证书到浏览器/手机,并设置代理;可用正则过滤 css/png 等静态资源。
四 性能优化与稳定性
- JMeter 自身调优(
jmeter.properties与启动脚本):- 控制台摘要频率:
summariser.interval=10(默认 30 秒,便于观察进度)。 - 结果落盘字段:压测时关闭
jmeter.save.saveservice.response_data=true,减少 I/O;按需开启必要字段。 - HTTP 客户端:在 HTTP Request 选择 HttpClient4;超时建议 Connect=5000 ms、Response=10000 ms;启用 Keep-Alive;必要时调小
httpclient4.retrycount=1避免重试干扰指标。 - JVM 与 GC:在 jmeter.sh 设置堆与 GC,例如:
-Xms2g -Xmx4g -XX:+UseG1GC;压测机尽量将 -Xms 与 -Xmx 设为相同,减少 GC 震荡。
- 控制台摘要频率:
- 系统层面(压测机与被压测服务所在系统):
- 优先使用 内网 压测,避免公网抖动影响指标。
- 适度提升文件句柄与内核网络参数(如
fs.file-max、net.core.somaxconn、net.ipv4.ip_local_port_range、tcp_tw_reuse等),并调大 JMeter 堆 与合理 GC 策略,避免 OutOfMemoryError 与端口耗尽。
五 分布式压测与监控
- 基本步骤:
- 主从机保持 Java/JMeter 版本一致;主机生成 rmi_keystore.jks 并分发到所有从机。
- 配置
jmeter.properties:server.rmi.ssl.disable=true;主机设置remote_hosts=从机IP:1099;从机启动./jmeter-server -Djava.rmi.server.hostname=从机IP。 - 主机执行:
jmeter -n -t test.jmx -R 从机IP1,从机IP2 -l result.jtl -e -o report。 - 如 RMI 解析到 127.0.1.1 导致连接被拒,在主机
system.properties增加java.rmi.server.hostname=主机IP。
- 资源监控:在被压测机上部署 ServerAgent,JMeter 端用 PerfMon 插件采集 CPU/内存/网络/磁盘 指标,便于定位瓶颈。
- 常见坑:CSV/依赖 JAR 需在 所有从机同路径 就位;避免分布式下使用 View Results Tree 导致 master 内存暴涨。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu JMeter使用技巧有哪些
本文地址: https://pptw.com/jishu/773496.html
