jmeter  在 linux 下的压测使用步骤:


1、用法


jmeter -n -t [jmx file] -l [result file] -e -o [path to web report folder]


1)、压力机配置好jdk,在 /etc/profile 下增加环境变量


a、 上传 jdk-8u221-linux-x64.tar.gz 到 Linux 的/usr/local 目录下

b、 解压:tar xvf jdk-8u221-linux-x64.tar.gz

c、 修改配置文件:vi /etc/profile

D、 光标移动到最后一行,添加以下配置


export JAVA_HOME=/usr/local/jdk1.8.0_221

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


退出 vi,执行命令 source /etc/profile,让配置生效。


执行 java -version 命令,如果能看到版本信息,配置成功


2)、在Windows调试好 jmeter脚本,并上传到 linux 下,


在 /etc/profile 下增加环境变量:


export JMETER_HOME=/home/tools/apache-jmeter-5.1.1

export PATH=$JAVA_HOME/bin:$JMETER_HOME/bin:$PATH


退出 vi,执行命令 source /etc/profile,让配置生效。


执行 jmeter -v 命令,如果能看到版本信息,配置成功


3)、进到 jmeter 根目录下添加执行权限 chmod -R +x ./*


2、单机器测试步骤:


jmeter -n -t xx.jmx -l result.jtl


-n:命令模式,no-gui

-t:jmx 脚本路径

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


3、xshell 远程连接IP:

ssh root@10.0.0.56


4、远程安装工具: yum install -y lrzsz   上传 sz  **  ; 下载 rz


安装unzip:  yum install -y unzip

解压: unzip ***


5、后台运行:nohup *** &


6、关闭防火墙:  systemctl stop(disable) firewalld


7、Jmeter 性能压测数据就看最后一个等号的数据


8、采样间隔: jmeter.properties: summariser.interval=10 --每 10s 采集一次性能数据


9、jmeter运行时终止 ctl+c


10、离线生成性能报告:

1)、jmeter bin 目录下: 修改 reportgenerator.properties

2)、修改 jmeter.reportgenrator.overall_granularity=2000 (报表数据展示间隔2秒)

3)、创建一个存放数据报表的文件夹:mkdir report

4)、执行: jmeter -g result.jtl -o report

5)、压缩report:zip -r report.zip report  ( yum install -y zip )

6)、上传:sz report.zip


10、report 关注:1、概要(聚合报告,error)  2、tps  3、响应时间  4、响应时间中的 connect time


11、如何判断压力机不够:压力机主要消耗cpu和mem,一般压力机CPU超过80%,需要考虑增加压力机;heap 一般设置 1-2G


12、linux下分布式部署:

1)、关闭每台机器的防火墙;systemctl disable firewalld

2)、修改每台机器 hostname,vi /etc/hostname ; 如:test  修改后需要 reboot

3)、配置本机IP和本机hostname的映射关系 ,vi /etc/hosts ,17.0.0.1 test

4)、在每台机器上都部署jmeter

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

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

7)、每台机器修改 jmeter.properties 文件,ssl.disable=true(去掉注释)

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

9)、在 主 jmeter的bin目录下,修改jmeter.properties, 将其中的 remote_hosts修改为作为从压力的ip,用逗号分隔

10)、在主jmeter机器上,执行 jmeter -n -t **.jmx -l result.jtl -r

11)、如果是http脚本,在 controller 主机上有脚本文件即可

12)、如果是java脚本,在每一台机器上都得有脚本文件和依赖jar包

13)、要停止跑脚本,不能直接ctl+c;在 主压测机 jmeter bin 目录下 执行 ./shutdown.sh