首页主机资讯JMeter在CentOS中如何进行并发测试

JMeter在CentOS中如何进行并发测试

时间2025-11-24 11:43:03发布访客分类主机资讯浏览758
导读:在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/jmeter
    • export 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 × 目标QPSCalculate Throughput based onall 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 ReportView 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 端口(或关闭防火墙/安全组限制)。

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


若转载请注明出处: JMeter在CentOS中如何进行并发测试
本文地址: https://pptw.com/jishu/754294.html
CentOS Hadoop版本选择指南 CentOS fetchLinux如何迁移数据

游客 回复需填写必要信息