首页主机资讯JMeter在Debian上如何进行压力测试

JMeter在Debian上如何进行压力测试

时间2025-11-27 20:04:03发布访客分类主机资讯浏览1346
导读:在 Debian 上使用 JMeter 进行压力测试的完整步骤 一 环境准备 安装 Java(JMeter 5.x 建议使用 JDK 8 或 11): 更新索引并安装 OpenJDK:sudo apt update &&...

在 Debian 上使用 JMeter 进行压力测试的完整步骤

一 环境准备

  • 安装 Java(JMeter 5.x 建议使用 JDK 8 或 11):
    • 更新索引并安装 OpenJDK:sudo apt update & & sudo apt install openjdk-11-jdk
    • 验证:java -version 应返回 11.x1.8.x
  • 下载并解压 Apache JMeter(无需安装,解压即用):
    • 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
  • 可选:将 JMeter 的 bin 目录加入 PATH,便于全局执行:export PATH=$PATH:/path/to/apache-jmeter-5.4.3/bin
  • 启动 GUI(仅用于脚本录制与调试):./bin/jmeter.sh(服务器压测建议使用非 GUI 模式)

二 创建第一个 HTTP 压测脚本

  • 新建测试计划 → 添加线程组(Thread Group)
    • 线程数(Number of Threads):并发虚拟用户数
    • Ramp-Up Period(秒):全部线程启动用时
    • 循环次数(Loop Count):每个线程请求次数;勾选“永远”配合调度器使用
    • 调度器(Scheduler):可设置持续时间、延迟启动等
  • 在线程组下添加 HTTP 请求(HTTP Request)
    • 配置协议、服务器名称/IP、端口、路径、请求方法、参数/Body、请求头等
    • 性能场景建议:HTTP 实现选择 Java,勾选 KeepAlive 使用长连接,减少握手开销
  • 添加监听器(Listener)
    • 用于调试:察看结果树(View Results Tree)
    • 用于统计:聚合报告(Summary Report)、图形结果等
  • 运行与查看
    • GUI 中点击“启动”执行;命令行见下一节
    • 聚合报告关注:样本数、平均/中位数/90%/95%/99% 百分位、错误率、吞吐量(Requests/s)

三 命令行运行与结果分析

  • 非 GUI 执行(推荐,适合服务器/CI):
    • 基本:jmeter -n -t your_plan.jmx -l result.jtl
    • 后台执行:nohup jmeter -n -t your_plan.jmx -l result.jtl &
    • 说明:-n 非 GUI;-t 指定脚本;-l 指定结果文件(JTL/CSV)
  • 结果查看
    • 在 JMeter GUI 中打开聚合报告,点击“浏览”加载 result.jtl 即可查看统计图表
    • 也可将 JTL 导入其他报表工具(如 InfluxDB + Grafana)做长期可视化

四 分布式压测与常见问题

  • 分布式压测(Controller/Agent)
    • 在所有 Agent 上:./bin/jmeter-server
      • 若出现 java.io.FileNotFoundException: rmi_keystore.jks,编辑 jmeter.properties:server.rmi.ssl.disable=true 后重启
    • 在 Controller 上:编辑 jmeter.properties 的 remote_hosts=agent1:1099,agent2:1099
    • 执行:jmeter -n -t your_plan.jmx -R agent1,agent2 -l result.jtl
  • 常见问题与排查
    • 版本不一致:Controller 与 Agent 的 JMeter 版本需一致,否则易报错
    • 中文乱码:在 jmeter.properties 设置 sampleresult.default.encoding=UTF-8
    • 脚本含中文导致加载失败:避免中文命名/注释,或统一编码保存
    • 成功判定:仅靠“察看结果树”绿色图标不可靠,需结合响应码、响应体或数据库校验判断业务成功

五 监控与调优建议

  • 被压测端监控
    • 系统资源:top/htop、vmstat 1、iostat -x 1、sar(需安装 sysstat)
    • 数据库:MySQL 可用 sysbenchmysqlslap 做基线对比;MongoDB 可用 mongostatYCSB 辅助验证
  • JMeter 侧优化
    • 尽量使用 非 GUI 模式压测;GUI 仅用于脚本开发与调试
    • 合理设置 线程数、Ramp-Up、循环/持续时间;逐步加压寻找拐点
    • 使用 CSV Data Set Config 做参数化;HTTP 采样器启用 KeepAlive;必要时添加 定时器 控制请求节奏

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


若转载请注明出处: JMeter在Debian上如何进行压力测试
本文地址: https://pptw.com/jishu/758226.html
Node.js在Debian上的缓存策略优化 JMeter在Debian上的结果如何导出与分析

游客 回复需填写必要信息