最近工作中有时候需要用jmeter持续对服务器发起请求,而且可能需要分别对2/3个服务器同时发起请求。这种情况下,如果使用自己的电脑发起请求,中途很可能对电脑做了关闭、重启等操作,或者误操作了点击jmeter的关闭按钮,总之部分情况下会中断测试,非常不方便。所以就搜索学习了下如何在linux上运行jmeter,以下是记录的过程~
一、在Linux服务器先安装JDK
1、先从客户端下载jdk1.8.0_144.tar.gz,再上传到服务器
2、解压:tar -xzf jdk1.8.0_144.tar.gz,生成文件夹 jdk1.8.0_144
3、在/usr/local目录下创建java文件夹,再将 jdk1.8.0_144目录移动到/usr/local/java中
1)cd /usr/local
2) mkdir java
3)mv jdk1.8.0_144 /usr/local/java
3、配置java环境变量
1)vi /etc/profile
2)在最后面增加两行
export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
重启虚拟机后配置才会生效
3)执行命令:source /etc/profile,无需重启,配置的环境变量立马生效
或者执行以下命令(必须是root角色,普通角色没有权限)
# export JAVA_HOME=/usr/local/java/jdk1.8.0_144
# export PATH=$JAVA_HOME/bin:$PATH
4、查看是否安装成功,执行命令:java-version
二、安装Jmeter
1、将本地的Jmeter文件打包成zip文件 apache-jmeter-5.1.1.zip,再上传到服务器
2、在服务器解压,生成apache-jmeter-5.1.1目录:
(1)安装unzip:yum install unzip
(2)解压缩:unzip apache-jmeter-5.1.1.zip
(3)修改apache-jmeter-5.1.1.zip目录名为jmeter-5.1:mv apache-jmeter-5.1.1 jmeter-5.1
3、进入jmeter-5.1/bin下,对文件添加可执行权限:chmod 777 *
4、将jmeter-5.1放在/root下,也可以放在其他目录下
5、配置Jmeter环境变量(vi /etc/profile),添加以下环境变量并保存:
export JMETER_HOME=/root/jmeter-5.1
export CLASSPATH=$JMETWR_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH
6、 source /etc/profile (让配置文件立马生效)
7、 查看是否安装成功,执行命令:jmeter -v
三、Jmeter参数调整
1、修改jmeter/bin下的jmeter.properties文件中的两个参数:
summariser.interval=10 #采样间隔为10秒 sampleresult.default.encoding=utf-8 #采样结果编码改成utf-8
2、根据加压机内存大小调整jmeter堆内存大小
修改jmeter/bin下jmeter文件:
HEAP="-Xms800m -Xmx800m -XX:MaxMetaspaceSize=200m" #如果加压机不做其他用途的话,Xms和Xmx可以调整到加压机的70%内存大小
四、接口测试
1、将本地jmeter生成的jmx文件上传到服务器
2、输入执行命令:
jmeter -n -t /root/test.jmx -l log.jtl
参数说明:
-n:以NoGUI方式运行脚本
-t: 后面接脚本名称
-l: 后面接日志名称,保存运行结果
3、生成html报表
Html报表生成步骤:
1,进入jmeter的bin目录下,修改reportgenerator.properties 2,修改jmeter.reportgenerator.overall_granularity=1000(报表中数据展示间隔1秒) 3,创建一个存放数据报表的文件夹 4,执行命令:jmeter –g log.jtl –o ./output 其中: -g 指定jtl文件的路径 -o 指定html报表生成到哪个文件夹下
注意:只有Jmeter3.0版本以上支持此功能
4、查看log.jtl
将log.jtl 发送到windows上查看详细结果:添加聚合报告,在聚合报告中打开该文件,如下图:
5、查看HTML报表
注意:客户端和服务器的Jmeter版本最好保持一致,不然运行脚本时可能会出现其他报错