Jmeter命令行压测

1. 单机压测

1.1 准备工作

1、压力机上配置好JDK

2、在windows下调试好jmeter脚本,然后上传至压力机上

3、进入Jmeter 的bin目录下需要添加执行权限 chmod -R +x ./*

 

1.2 单机压测步骤

1、执行命令:jmeter -n -t pinter.jmx -l result.jtl

  -n:no-gui,命令行模式

  -t:jmx脚本路径

  -l:jtl结果文件存放路径

2、概要日志数据解释

+:表示过去10s执行情况

=:表示脚本从开始运行到现在的情况

在Jmeter的bin/jmeter.properties中可修改控制台取样间隔的时间。summariser.interval=10,默认为30秒

 2、查看结果报表

方式一:把生成的jtl文件下载下来,在GUI界面的聚合报告里打开,可以展示tps和 应时间等数据

 方式二:生成html报表

1、进入jmeter的bin目录下,修改reportgenerator.properties

2、修改jmeter.reportgenerator.overall_granularity=1000(设置报表中数据展示间隔1秒,默认值为1分钟)
3、创建一个存放数据报表的文件夹report
4、执行命令:jmeter -g result.jtl -o report,会在report下生成数据文件
  -g:指定jtl文件的路径
  -o:指定html报表生成到哪个文件夹下

5、执行命令zip -r report.zip report,将文件夹进行压缩

 6、下载压缩文件夹,使用浏览器打开index.html

 

2. 分布式压测

2.1 为每台压力机配置主机名

1、输入hostname可查看主机名

2、永久修改主机名:hostnamectl set-hostname 主机名

3、编辑/etc/hosts文件,绑定ip和主机名,格式为192.168.50.144 zhuyaliji

4、输入reboot,重启压力机之后,主机名生效

2.2 分布式测试步骤

1、在每台机器上都部署Jmeter

2、如果是java脚本,将java脚本相关lib包都放在jmeter目录lib/ext下

3、将jmeter的场景文件jmx上传到主jmeter的任意位置,参数文件放到每一台压力机上,存放目录要相同

4、修改jmeter.properties文件,去掉ssl.disable=true前面的注释

5、在每台机器上进入到jmeter的bin目录下,都启动nohup ./jmeter-server &(后台启动jmeter-server服务)

6、在主jmeter的bin目录下,修改jmeter.properties,将其中的remote_hosts修改为作为压力机的两台机器ip,

remote_hosts=127.0.0.1,192.168.0.102
7、在主jmeter的机器上,执行jmeter -n -t pinter.jmx -l result.jtl -r
  -r:remote
注意:
1、如果是http脚本,在controller的机器上有脚本文件即可
2、如果是Java脚本,在每一台机器上都得有脚本文件和依赖的jar包
3、每台机器的防火墙都要关闭
 
3、命令行压测问题排查思路
1、查看当前目录下的jmeter.log
2、查看Jmeter中bin目录下的jmeter-server.log
3、查看生成的.jtl文件
4、把jmx文件在GUI模式下执行,在查看结果树当中勾选 仅错误日志,并填写一个文件名(最好是.xml格式)用于记录错误日志

 

 

 

 

 

posted @ 2021-08-03 16:38  小红帽与大灰狼  阅读(1113)  评论(0编辑  收藏  举报