首页主机资讯Debian系统下JMeter如何进行并发测试

Debian系统下JMeter如何进行并发测试

时间2025-11-27 20:24:03发布访客分类主机资讯浏览603
导读:在 Debian 上使用 JMeter 进行并发测试 一 环境准备与安装 安装 Java 8+(JMeter 5.x 建议 Java 8/11):sudo apt update && sudo apt install op...

在 Debian 上使用 JMeter 进行并发测试

一 环境准备与安装

  • 安装 Java 8+(JMeter 5.x 建议 Java 8/11):sudo apt update & & sudo apt install openjdk-8-jdk。验证:java -version。
  • 安装 JMeter(两种常用方式):
    • 方式 A(推荐,便于保持最新):下载官方二进制包并解压
      wget https://downloads.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz
      tar -xzf apache-jmeter-5.4.3.tgz & & cd apache-jmeter-5.4.3
      可将 bin/ 加入 PATH,便于直接执行 jmeter。
    • 方式 B(Debian 仓库):sudo apt install jmeter(版本可能较旧,适合快速试用)。
  • 建议非 GUI 运行:JMeter 在 Linux 下以 CLI 模式执行更稳定、资源占用更低。

二 快速上手 HTTP 并发测试

  • 启动 GUI(仅用于编写脚本):在 JMeter 目录执行:./bin/jmeter。
  • 新建测试计划 → 添加线程组(Thread Group):
    • Number of Threads(users):并发用户数,如 100
    • Ramp-Up Period(seconds):在多少秒内启动全部线程,如 10(表示每秒启动约 10 个线程)。
    • Loop Count:循环次数,如 10;或勾选 Forever 配合调度器控制持续时间。
  • 添加 HTTP 请求采样器:
    • Server Name or IP、Port、Protocol(http/https)、Method(GET/POST)。
    • 在 Body Data 中填入 JSON(如 { “key1”:“value1”} ),并在 HTTP Header Manager 中添加 Content-Type: application/json(按需添加 Authorization 等头)。
  • 添加监听器:
    • 调试用:View Results Tree
    • 统计用:Summary Report / Aggregate Report(关注 Throughput、Average、90%/95%/99% Line、Error %)。
  • 运行与查看:GUI 点击绿色运行按钮查看结果;CLI 见下一节。

三 控制并发与吞吐量

  • 并发用户与启动节奏:线程数决定“最大并发线程”;Ramp-Up 仅控制线程启动的“均匀程度”,并不直接等于每秒请求数(QPS/TPS)。
  • 精确“同时发起”峰值:在需要同时触发的接口前添加 Synchronizing Timer,设置 Number of Simulated Users to Group by(如 100),可选 Timeout in milliseconds(如 5000)。
  • 控制吞吐到目标 TPS/QPS:
    • 使用 Constant Throughput Timer,设置 Target throughput(单位:samples per minute),并将 Calculate Throughput based on 设为 all active threads(按所有活跃线程均摊,便于接近目标吞吐)。
    • 如需更精准控制,可用 Precise Throughput Timer
  • 常见误区:把“线程数=100、Ramp-Up=1”理解为“每秒 100 请求”是不准确的;要控制每秒请求速率,应结合定时器与目标吞吐设置。

四 命令行运行与结果分析

  • 非 GUI 执行(推荐):
    • 基本:jmeter -n -t your_plan.jmx -l result.jtl(-n 非 GUI,-t 脚本,-l 结果文件)。
    • 调度器常用:在 GUI 的线程组勾选 ForeverScheduler,设置 Duration(秒);CLI 直接运行即可按持续时间执行。
  • 结果查看:
    • 在 JMeter GUI 的 Aggregate Report 中“Browse”导入 result.jtl 查看统计。
    • 也可将 result.jtl 拷到 Windows 端 JMeter 中生成图表与报表。

五 分布式压测与常见问题

  • 分布式压测(Controller/Agent):
    • 在所有 Agent 上启动:./bin/jmeter-server;如遇 SSL 报错,可在 jmeter.properties 中设置 server.rmi.ssl.disable=true 并重启。
    • 在 Controller 的 jmeter.properties 配置 remote_hosts=agent1:1099,agent2:1099;执行:jmeter -n -t plan.jmx -R agent1,agent2 -l result.jtl。
  • 常见问题与建议:
    • 版本一致性:Controller 与 Agent 的 JMeter 版本尽量一致;在 Windows 下编辑的 .jmx 若在 Linux 报错,检查是否含中文或特殊字符导致解析失败。
    • 资源与网络:压测端与被测服务应在隔离环境;避免把结果树等监听器放在高并发场景中,以免内存与 I/O 成为瓶颈。
    • 监控与调优:结合应用/数据库/系统监控定位瓶颈(如慢查询、连接池、缓存命中率、带宽等),再迭代脚本与参数。

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


若转载请注明出处: Debian系统下JMeter如何进行并发测试
本文地址: https://pptw.com/jishu/758246.html
JMeter在Debian上如何进行性能调优 Debian与Kubernetes的部署实践

游客 回复需填写必要信息