当前位置: 代码网 > 服务器>服务器>Linux > Linux下NOGUI快速使用Jmeter的两种实现方式

Linux下NOGUI快速使用Jmeter的两种实现方式

2025年02月25日 Linux 我要评论
linux下nogui使用jmeter众所周知,jmeter在gui模式下的效能比非gui下的要差一些,在无环境的机器中进行测试应该如何快速启动呢在linux中有两种方式快速起动:第一种下载安装包直接

linux下nogui使用jmeter

众所周知,jmeter在gui模式下的效能比非gui下的要差一些,在无环境的机器中进行测试应该如何快速启动呢

在linux中有两种方式快速起动:

  • 第一种下载安装包直接启动jmeter.sh 脚本
  • 第二种使用docker启动

我们先看第一种

在linux中直接下载jmeter启动包,先进入官网复制jmeter下载地址

在linux中使用 wget命令下载包

ssh@test:~/test$ wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.5.tgz
--2022-09-12 05:53:14--  https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.5.tgz
resolving dlcdn.apache.org (dlcdn.apache.org)... 151.101.2.132, 2a04:4e42::644
connecting to dlcdn.apache.org (dlcdn.apache.org)|151.101.2.132|:443... connected.
http request sent, awaiting response... 200 ok
length: 85476161 (82m) [application/x-gzip]
saving to: ‘apache-jmeter-5.5.tgz'

apache-jmeter-5.5.tgz               100%[================================================================>]  81.52m  5.29mb/s    in 16s     

2022-09-12 05:53:30 (5.11 mb/s) - ‘apache-jmeter-5.5.tgz' saved [85476161/85476161]

ssh@test:~/test$ ls
apache-jmeter-5.5.tgz

解压该文件

ssh@test:~/test$ tar -xvf apache-jmeter-5.5.tgz 

进入解压后的问题件,找到bin目录查看是否有jmetet.sh文件

之后进入jmx脚本存在目录,执行以下命令(该命令是启动jmeter.sh脚本,同时传入 -n -t -l 等参数)

执行日志中error为100% 为了方便测试随便用了一个脚本,由于地址不通所以全部报错

当我们看到... end of run 的时候代表脚本已经执行完毕,我们可以在执行命令时,定义的 -o 目录下查看详细测试报告

ssh@test:~/test$  ./apache-jmeter-5.5/bin/jmeter.sh  -n -t test.jmx  -l result/result.jtl -e -o result/html 
creating summariser <summary>
created the tree successfully using test.jmx
starting standalone test @ september 12, 2022 6:05:17 am utc (1662962717490)
waiting for possible shutdown/stoptestnow/heapdump/threaddump message on port 4445
summary = 287617 in 00:00:10 = 28292.1/s avg:     0 min:     0 max:   117 err: 287617 (100.00%)
tidying up ...    @ september 12, 2022 6:05:28 am utc (1662962728206)
... end of run

将我们指定目录下的html下载到本地,解压后目录结构为

这时候我们打开index.html就可以查看详细报告了

接着第二种方式

使用docker执行jmx脚本

首先docker环境是必要的,这里就不再赘述了,使用docker search jmeter 查看仓库中已有的镜像

root@test ~
# docker search jmeter
name                             description                                     stars     official   automated
justb4/jmeter                    lightweight docker image for running the apa…   98                   [ok]
cirit/jmeter                     jmeter 2.13 + debian os + java server jre 8     30                   [ok]
egaillardon/jmeter               docker image for apache jmeter (no more upda…   13                   [ok]
egaillardon/jmeter-plugins       docker image for apache jmeter and jmeter pl…   10                   [ok]
pedrocesarti/jmeter-docker       apache jmeter™ is an open source tool that h…   7                    [ok]
vmarrazzo/jmeter                 lightweight docker image for apache jmeter a…   6                    
eroadltd/jmeter                                                                  4                    
smithmicro/jmeter                jmeter docker image for distributed testing …   4                    [ok]
floodio/jmeter                   jmeter on flood io                              4                    
famiko/jmeter-base               install jmeter on openjdk:8-alpine              2                    [ok]
kubernautslabs/jmeter_slave                                                      1                    
octoperf/jmeter-standard         openjdk + ssh + jmeter + octoperf plugin        1                    
grafana/jmeter-to-k6                                                             1                    
kaarol/jmeter-master             jmeter master image                             1                    [ok]
kaarol/jmeter-slave              jmeter slave base image                         0                    [ok]
3ram/jmeter                      jmeter with mysql library                       0                    
keptn/jmeter-service                                                             0                    
gsengun/jmeter                   jmeter 3.x image with a few plugins, mssql a…   0                    [ok]
cloudssky/jmeter-slave                                                           0                    
decho/jmeter-slave                                                               0                    
kubernautslabs/jmeter-operator                                                   0                    
cloudssky/jmeter-master                                                          0                    
jmeterscripts/jmeter-agent                                                       0                    
zheji01/jmeter-konakart          jmeter 4.0                                      0                    
shadowpic/jmeter-slave                                                           0            

接着我们使用docker pull 一个符合自己的镜像,下载成功以后使用docker images 查看本地镜像

root@test ~
# docker pull justb4/jmeter 
using default tag: latest
latest: pulling from justb4/jmeter
1b7ca6aea1dd: pull complete 
0c9f7f0acdce: pull complete 
0a0aa5d7f9c8: pull complete 
4f4fb700ef54: pull complete 
digest: sha256:ba68e5f66e7dee5d71328cfe71eec3ad508437d759a5a481bea9092ea89592ee
status: downloaded newer image for justb4/jmeter:latest
docker.io/justb4/jmeter:latest

root@test ~
# docker images | grep jmeter 
justb4/jmeter                                         latest                     7fae0b97a533   3 months ago    246mb

然后我们直接docker run 启动,这里简单说一下启动参数

--net=host 这个参数代表不需要给容器内的服务做映射了

  • -i 标准输入保持打开状态
  • -v 目录挂载让容器内外该目录下的文件保持一致
  • -w 让命令在指定路径执行,如果目录不存在则创建一个新的
  • -n -t -l -o -e 这几个是jmeter的启动参数了,不多赘述了
root@qa-perf-test-068 /home/developer/test
# docker run --net=host  -i -v /home/developer/test:/home/developer/test -w /home/developer/test justb4/jmeter   -n -t test.jmx  -l result/result.jtl -e -o result/html  
start running jmeter on mon sep 12 08:32:04 cest 2022
jvm_args=-xmn1390m -xms5560m -xmx5560m
jmeter args=-n -t test.jmx -l result/result.jtl -e -o result/html
jmeter all args=-dlog4j2.formatmsgnolookups=true -n -t test.jmx -l result/result.jtl -e -o result/html
sep 12, 2022 8:32:06 am java.util.prefs.filesystempreferences$1 run
info: created user preferences directory.
creating summariser <summary>
created the tree successfully using test.jmx
starting standalone test @ mon sep 12 08:32:06 cest 2022 (1662964326558)
waiting for possible shutdown/stoptestnow/heapdump/threaddump message on port 4445
summary = 217948 in 00:00:10 = 21474.8/s avg:     1 min:     0 max:   371 err: 217948 (100.00%)
tidying up ...    @ mon sep 12 08:32:17 cest 2022 (1662964337098)
... end of run
end running jmeter on mon sep 12 08:32:30 cest 2022

执行完毕以后,我们查看挂载目录下的test文件夹,找到html下载到本地与方法一 一致下载后在本地可直接查看jmeter执行详情

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com