JMeter在CentOS中如何进行并发测试
导读:在CentOS上使用JMeter进行并发测试 一 环境准备与安装 安装 Java 8+(JMeter 5.x 要求 Java 8 及以上): 执行:sudo yum install -y java-1.8.0-openjdk-devel...
在CentOS上使用JMeter进行并发测试
一 环境准备与安装
- 安装 Java 8+(JMeter 5.x 要求 Java 8 及以上):
- 执行:
sudo yum install -y java-1.8.0-openjdk-devel - 验证:
java -version
- 执行:
- 下载并解压 Apache JMeter(建议放到 /opt):
- 示例:
wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz - 解压:
tar -xzf apache-jmeter-5.4.3.tgz -C /opt/ - 软链:
ln -s /opt/apache-jmeter-5.4.3 /opt/jmeter
- 示例:
- 配置环境变量(写入 ~/.bashrc 或 /etc/profile):
export JMETER_HOME=/opt/jmeterexport PATH=$PATH:$JMETER_HOME/bin- 使生效:
source ~/.bashrc
- 验证安装:
jmeter -v。
二 编写测试计划
- 在本地 GUI 创建并调试脚本(保存为 test_plan.jmx),核心元件:
- 添加线程组 Thread Group:设置并发用户相关参数(见下一节)。
- 添加取样器 HTTP Request:配置协议、服务器名或 IP、端口、方法、路径、参数等。
- 添加配置元件 HTTP Header Manager:如设置 Content-Type: application/json。
- 添加监听器:调试用 View Results Tree,聚合分析用 Aggregate Report。
- 将 test_plan.jmx 上传到 CentOS(如 /opt/jmeter/script/)。
三 并发关键参数与定时器
- 线程组关键字段与含义:
- Number of Threads(users):并发用户数(如 1000)。
- Ramp-Up Period(seconds):在多少秒内启动全部线程(如 10 秒,表示逐步启动)。
- Loop Count:每个线程循环次数;勾选 Forever 可持续运行。
- 勾选 Scheduler 可设置 Duration(持续时长)与 Startup delay(延迟启动)。
- 常见并发控制与误区:
- 误区:把线程数设为 100、Ramp-Up 设为 1 秒,并不等于每秒只发 100 个请求;这仅表示在 1 秒内启动 100 个线程,之后以引擎能力尽可能快地发送请求。
- 精确控制每秒请求数(QPS):在线程组内添加 Constant Throughput Timer,设置 Target throughput(samples per minute)= 60 × 目标QPS;Calculate Throughput based on 选 all active threads。
- 精确“同时发起”场景:在关键请求前添加 Synchronizing Timer,设置 Number of Simulated Users to Group by(每组集结线程数)与 Timeout(超时毫秒)。
四 在CentOS上执行与监控
- 非 GUI 命令行执行(推荐):
- 基本:
/opt/jmeter/bin/jmeter -n -t /opt/jmeter/script/test_plan.jmx -l /opt/jmeter/results/result.jtl - 内存调优(示例将堆最大设为 2G):
/opt/jmeter/bin/jmeter -n -t test_plan.jmx -l result.jtl -J-Xmx2g - 说明:
-n非 GUI,-t指定脚本,-l输出结果文件(CSV/JTL)。
- 基本:
- 资源与结果监控:
- 监控被测系统与被压机的 CPU、内存、磁盘 I/O、网络,避免资源成为瓶颈。
- 结果分析使用 Aggregate Report、View Results Tree(非 GUI 运行后可将 .jtl 下载到本地 GUI 查看)。
五 分布式压测与扩展
- 适用场景:单机并发能力不足或需模拟更大规模用户时,使用 JMeter 分布式(Master/Slave)。
- 基本步骤:
- 在所有 Slave 上启动 jmeter-server:
/opt/jmeter/bin/jmeter-server - 在 Master 的 jmeter.properties 配置
remote_hosts=slave1:1099,slave2:1099 - Master 发起测试:
/opt/jmeter/bin/jmeter -n -t test_plan.jmx -R slave1:1099,slave2:1099 - 如启用 RMI SSL,可设置
server.rmi.ssl.disable=true;必要时开放 1099 端口(或关闭防火墙/安全组限制)。
- 在所有 Slave 上启动 jmeter-server:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: JMeter在CentOS中如何进行并发测试
本文地址: https://pptw.com/jishu/754294.html
