linux环境部署jmeter并执行测试

下载jmeter和jdk

jmeter官网和java-jdk官网下载压缩包文件

jmeter下载地址:点此下载 jmeter

Apache JMeter - Download Apache JMeter

java-jdk下载地址:点此下载 jdk

Java Downloads | Oracle

安装包根据Linux配置进行选择。

上传文件到Linux并解压文件

jmeter上传至linux 目录下

tar -zxvf 压缩文件名.tar.gz,解压后的文件只能放在当前目录

配置jmeter和jdk环境变量

vim /etc/profile 添加如下配置

export JAVA_HOME=/data/test/jdk1.8.0_321

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:{JAVA_HOME}/lib:{JRE_HOME}/lib:$CLASSPATH

export JAVA_PATH={JAVA_HOME}/bin:{JRE_HOME}/bin

export PATH=PATH:{JAVA_PATH}

#以下为jmeter环境配置

export JMETER_HOME=/data/test/apache-jmeter-5.1.1

export PATH={JMETER_HOME}/bin:PATH

执行source /etc/profile 使配置文件生效

检查是否生效,java -version; jmeter -version

执行jmx脚本

在linux上传jmx脚本

使用命令在非GUI模式下运行jmeter脚本并生成html测试报告,参考命令如下:

jmeter -n -t test.jmx -l test.jtl -e -o /path

-n:以非GUI形式运行Jmeter

-t:source.jmx 脚本路径

-l:result.jtl 运行结果保存路径(.jtl),此文件必须不存在

-e:在脚本运行结束后生成html报告

-o:用于存放html报告的目录

html测试报告

测试报告 可以显示吞吐量和响应时间趋势。

使用插件

要在 Linux 上运行 JMeter 插件,可以按照以下步骤进行操作:

  1. 下载插件:首先,您需要下载所需的 JMeter 插件。您可以从 JMeter 的官方网站或其他可靠的来源获取插件的 JAR 文件。

  2. 将插件复制到 JMeter 目录:将下载的插件 JAR 文件复制到 JMeter 的安装目录下的 `lib/ext` 目录。例如,如果您的 JMeter 安装在 `/opt/apache-jmeter` 目录下,将插件 JAR 文件复制到 `/opt/apache-jmeter/lib/ext`。

然后运行jmeter测试文件。

实时查看测试结果

Apache JMeter - 用户手册:实时统计

最佳实践

Apache JMeter - 用户手册:最佳实践

减少资源使用

减少资源使用的一些建议。

  • 使用 CLI 模式: jmeter -n -t test.jmx -l test.jtl
  • 使用尽可能少的侦听器;如果使用上述 -l 标志,则可以删除或禁用它们。
  • 不要在负载测试期间使用"查看结果树"或"在表中查看结果"侦听器,仅在脚本阶段使用它们来调试脚本。
  • 而不是使用大量类似的采样器, 在循环中使用相同的采样器,并使用变量(CSV 数据集)来改变样本。 [包含控制器在这里没有帮助,因为它将文件中的所有测试元素添加到测试计划中。
  • 不使用功能模式
  • 使用 CSV 输出而不是 XML
  • 仅保存您需要的数据
  • 使用尽可能少的断言
  • 使用性能最高的脚本语言(参见 JSR223 部分)

如果您的测试需要大量数据(特别是如果需要随机化),请在文件中创建测试数据 可以使用 CSV 数据集读取。这样可以避免在运行时浪费资源。

使用阶梯线程组

jmeter压力测试组件:jp@gc - Stepping Thread Group - bylon - 博客园 (cnblogs.com)

我只把JMeterPlugins-Standard.jar放在linux-Jmeter的ext目录下即可。

相关推荐
bjzhang7525 分钟前
CentOS下安装MySQL详解
linux·mysql·centos
Jason_chen2 小时前
Linux 6.2 音频机制深度解析:AI驱动的低延迟音频与零信任音频安全架构
linux
下午写HelloWorld2 小时前
Linux系统及Ubuntu常用指令
linux·ubuntu·操作系统
云计算磊哥@3 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
weixin_523185323 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
天天进步20154 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
凡人叶枫4 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽5 小时前
玩转RK3506SDK
linux·嵌入式硬件
极客先躯5 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结5 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器