首页主机资讯JMeter在Ubuntu上的并发测试如何设置

JMeter在Ubuntu上的并发测试如何设置

时间2025-12-22 23:15:05发布访客分类主机资讯浏览321
导读:在 Ubuntu 上设置 JMeter 并发测试 一 环境准备 安装 Java(JMeter 5.x 建议使用 JDK 11):sudo apt update && sudo apt install -y openjdk-...

在 Ubuntu 上设置 JMeter 并发测试

一 环境准备

  • 安装 Java(JMeter 5.x 建议使用 JDK 11):sudo apt update & & sudo apt install -y openjdk-11-jdk
  • 安装 JMeter(两种常用方式):
    • 包管理安装:sudo apt install -y jmeter(版本可能滞后,适合快速上手)
    • 官方压缩包安装:从官网下载 apache-jmeter-5.x.tgz,解压后可直接使用:$ tar -xvzf apache-jmeter-5.x.tgz & & cd apache-jmeter-5.x/bin & & ./jmeter
  • 验证:java -version 与 jmeter -v 均应返回版本信息。

二 单机的并发核心参数与计算

  • 在 GUI 中创建测试计划 → 添加线程组(Threads → Thread Group),关键参数如下:
    • 线程数(Number of Threads):并发用户数(RPS 的上限受服务器与网络共同限制)
    • Ramp-Up Period(秒):在多长时间内把线程全部拉起,例如 100 线程 / 20 秒 = 每秒约 5 个线程
    • 循环次数:每个线程发送请求的次数;若勾选“永远”,需配合调度器控制时长
    • 调度器(Scheduler):可设置持续时间、延迟启动、开始/结束时间;启用时通常将循环设为“永远”
  • 并发与请求量换算:总请求数 = 线程数 × 循环次数;若循环为“永远”,则以持续时间为准
  • 示例(线程组设置):线程数 100、Ramp-Up 10 秒、循环 180 次(或勾选“永远”并设置持续时间 180 秒)。

三 运行与结果查看

  • GUI 仅用于调试,压测请用命令行(非 GUI 模式):
    • 基本命令:jmeter -n -t your_plan.jmx -l result.jtl
    • 生成 HTML 报告:jmeter -n -t your_plan.jmx -l result.jtl -e -o report/
  • 常用监听器与元件(添加到线程组内按需使用):
    • 察看结果树(View Results Tree):用于调试,压测时建议关闭以减少内存占用
    • 汇总报告(Summary Report)、聚合报告(Aggregate Report):查看 样本数、平均响应时间、95% Line、错误率 等关键指标
    • HTTP 请求默认值(HTTP Request Defaults)、HTTP 头管理器(HTTP Header Manager):统一管理协议、域名、端口与请求头
    • 断言(Response Assertion):如判断 HTTP 200 作为成功条件。

四 提升并发规模的两种方式

  • 水平扩展:分布式压测(Master–Slave)
    • 所有机器安装相同版本的 JMeter 与 JDK,网络互通,关闭防火墙或放行端口
    • 在控制端 jmeter.properties 配置 remote_hosts=slave1:端口,slave2:端口;将 server.rmi.ssl.disable 设为 true
    • 在各 Slave 上启动:./jmeter-server
    • 执行命令示例:jmeter -n -t plan.jmx -R slave1:端口,slave2:端口 -l result.jtl -e -o report/
  • 垂直扩展:提升单机能力
    • 编辑 JMeter 启动脚本(如 jmeter 或 jmeter.sh),适当增大 HEAP 参数(例如 -Xms2g -Xmx4g),避免 OOM 与 GC 抖动
    • 减少监听器(尤其是 View Results Tree),避免控制台与内存压力
    • 控制 Ramp-Up 与思考时间,逐步加压,观察吞吐与错误率拐点。

五 常见问题与排查

  • 连接异常(Connection refused / timeout):检查 IP、端口、防火墙 与网络连通性;确保 Slave 已启动 jmeter-server 且版本一致
  • 端口冲突:为各 Slave 配置不同的 server_port,避免占用
  • 引擎忙(Engine is busy):可能上次压测异常退出未释放进程,结束残留 java 进程或重启机器
  • 内存不足:增大堆内存、减少监听器、降低并发或分批次执行
  • 报告为空或数据异常:压测务必使用 非 GUI 模式,并确认 -l 结果文件与 -o 报告目录可写。

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


若转载请注明出处: JMeter在Ubuntu上的并发测试如何设置
本文地址: https://pptw.com/jishu/777902.html
如何在Ubuntu上使用JMeter进行性能调优 如何在Ubuntu上使用JMeter进行接口测试

游客 回复需填写必要信息