ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

jmeter在linux上安装&jmeter在linux上远程执行&jmeter生成html/jtl报告&jmeter线程递增执行Stepping Thread Group&jmeter执行命令参数化

2022-07-04 12:05:06  阅读:177  来源: 互联网

标签:bin jmx Group jtl linux jmeter true


jmeter安装

前置条件

一般linux系统已有java,通过java -version查看对应的版本,如有成功返回结果则不需要重新安装java,如无则需安装配置java(过程网搜即可)

jmeter安装

jmeter地址:http://archive.apache.org/dist/jmeter/binaries/

root权限 sudo -s

cd /usr/local/

mkdir jmeter

下载传到服务器

tar -zxvf apache-jmeter-5.3.tgz 

vim /etc/profile

export JMETER_HOME=/usr/local/jmeter/apache-jmeter-5.3 export PATH=$JMETER_HOME/bin:$PATH

source /etc/profile

jmeter -v 

 

jmeter运行

在mac或windows上存储好需要执行的jmx文件,然后放置在linux系统上执行。进入jmx文件所在目录,执行:jmeter -n -t .jmx文件名称  -l .jtl报告名称

jmeter -n -t ***.jmx  -l ***2.jtl

注jmx文件需符合以下条件,否则会报错。

1、使用的jmeter版本需同linux系统上的完全一致;

2、不可有中文,需在英文模式下新建jmx文件并保存;

3、不可以用类似于jp@gc -扩展类的监听器。

Jmeter插件

增加线程组和监听器样式。

https://jmeter-plugins.org/downloads/old/,下载JMeterPlugins-Extras-1.4.0.zip和JMeterPlugins-Standard-1.4.0.zip。

https://jmeter-plugins.org/wiki/PerfMonAgent/中的PerfMonAgent/(用于服务器性能测试监控,后续会提及)

解压后,将文件中 \lib\ext下的jar包放在jmeter的/lib/ext下。

linux请求参数化

本地的jmeter文件上传到linux服务器上后,参数csv文件存放在linux服务上同jmx文件相同目录,且jmx文件中的csv目录更新为linux服务器上所在的目录,相同执行命令执行即可。

jmeter -n -t ***.jmx -l ***03.jtl 

linux远程linux执行

一台linux作为控制机,N条linux作为执行机

控制机配置

修改jmeter.properties

sampleresult.default.encoding=utf-8 #避免查看结果树返回的中文内容显示乱码 remote_hosts=localhost:1099,10.1*.2*.1**:1099 #(本机可远程 这里填写执行机ip,默认端口号1099,用逗号隔开) mode=Standard #保证查看结果树中的response data可显示,不为空

执行机配置

注:如果本机作为执行机,则以下配置也需要在本地配置。

修改bin/jmeter.properties

sampleresult.default.encoding=utf-8 #避免查看结果树返回的中文内容显示乱码     jmeter.save.saveservice.response_data=true  #改成true jmeter.save.saveservice.samplerData=true  #改成true   # Set this if you don't want to use SSL for RMI  Jmeter--远程启动报错无rmi_keystore.jks:https://zhuanlan.zhihu.com/p/181652267 server.rmi.ssl.disable=true       #改成true

修改bin/user.properties,文件末尾增加以下内容:

jmeter.save.saveservice.output_format=xml jmeter.save.saveservice.response_data=true jmeter.save.saveservice.samplerData=true jmeter.save.saveservice.requestHeaders=true jmeter.save.saveservice.url=true jmeter.save.saveservice.responseHeaders=true

执行命令

jmeter -n -r -t /usr/local/jmeter/testjmx/***/***-***.jmx -l /usr/local/jmeter/testjmx/***/log/889.jtl

 

查看结果

mac查看

将jtl报告文件down到本地,在本地打开Jmeter,创建一个线程组,在线程组下添加监听器,点击界面上的浏览按钮,将导出的文件test.jtl添加进来即可看到脚本测试的报告

 

jtl报告生成html文件

修改bin/user.properties,文件末尾增加以下内容:

#jmeter.save.saveservice.output_format=xml  去掉该句

生成html报告

直接生成html报告

jmeter -n -t ***--qps-dj-2.jmx -l log2.jtl  -e -o result

已有jtl生成报告

jmeter -g log2.jtl  -o result

递增线程Stepping Thread Group

前提条件:已安装插件:JMeterPlugins-Standard-1.4.0.zip

 

 

 

 

linux执行命令参数化

 

线程、命令参数化

 

线程添加User Defined Variables,参数配置如下,如:thn ${__P(thn,3)} 线程、loop填写参数

 

 

 

 

 

 

命令执行:

jmeter -n -t ***-fallback-qps-dj.jmx -l log1.jtl -Jthn=10 -Jloopn=20 (本地参数化)

jmeter -n -t -r ***-fallback-qps-dj.jmx -l log1.jtl -Gthn=10 -Gloopn=20 (远程参数化)

 

 

 

 

  

jmeter -n -t ***-fallback-add.jmx -Jtst=100 -Jtend=500 -Jtadd=50 -Jloop=120 -Jendloop=180 -l ***log/***-fallback-add-zh.jtl

备忘记录

命令

-h 帮助 -> 打印出有用的信息并退出

-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter

-t 测试文件 -> 要运行的 JMeter 测试脚本文件

-l 日志文件 -> 记录结果的文件

-r 远程执行 -> 启动远程服务

-H 代理主机 -> 设置 JMeter 使用的代理主机

-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号

-e 执行后生成报告

-o 生成的html文件名称(需命令为不存在的文件夹)

-J参数名 本地执行命令的参数名称

-G参数名 远程执行命令的参数名称

注意:如果未设置Jmeter的环境变量则在执行脚本的时候需要检查当前目录是否是jmetet的bin 目录下

注:jmeter脚本要设置调度器持续时间,tps是要跑一定的时间才成的,比如跑个三五分钟,不设置调度时间脚本跑一次就结束了, 如1个vu的4.8就是最大tps了,增加2vu后并发tps反而下降说明服务器已经处理不过来了

分布式

https://www.cnblogs.com/chuxinxin/p/9358522.html

https://blog.csdn.net/qq_40308101/article/details/100017351

问题更新

 

# 使用5.3版本jmeter替换2.13版本jmeter 但并没有生效 后使用root更新原软连接后成功:ln -s /home/worker/apache-jmeter-5.3/bin/jmeter /usr/bin/jmeter  (新增)

ln -snf /home/worker/apache-jmeter-2.13/bin/jmeter /usr/bin/jmeter (修改为2.13)

注: 修改环境变量配置文件未生效

#JMETER="/home/worker/apache-jmeter-2.13"

JMETER="/home/worker/apache-jmeter-5.3"

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$JMETER/bin

 

 

标签:bin,jmx,Group,jtl,linux,jmeter,true
来源: https://www.cnblogs.com/jxba/p/16442454.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有