linux环境下jmeter压测实战--傻瓜式教程

2022-04-10  本文已影响0人  吱吱菌啦啦
写在前面

一、权限申请

二、环境搭建

1.ssh ip登上申请的master服务器,查看linux内核是32位还是64位(需要下载对应的jdk)命令 cat /proc/version
2.下载jmeter--官网
3.下载linux版本jdk--官网
4.cd到master机你的目录下,创建一个temp文件夹,用于存放jdk和jmeter安装包
5.cd到temp下,sudo rz -be回车,把jmeter和jdk传到linux上
6.解压jdk和jmeter
sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz
sudo tar -zxvf apache-jmeter-5.4.3.tgz
7、配置jdk和jmeter环境变量
sudo vim /etc/profile,输入i进入编辑模式,脚本内容为:

#jdk
export JAVA_HOME=/home/chunzhij/temp/jdk-17.0.1
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#jmeter
export JMETER=/home/chunzhij/temp/apache-jmeter-5.4.3
export PATH=${JMETER}/bin/:${PATH}

copy进去后esc退出编辑模式,:wq保存编辑,执行source /etc/profile环境变量配置才能生效。

到这里环境应该是搭好了。
8.sudo jmeter --v运行jmeter看看是否装成功 ,图片这样就是成功了

image.png

三、压测示例

以一个简单的http接口为例,本地jmeter写好压测脚本传上去就可以跑了

操练一下吧~

1.cd到之前创建的temp目录下,上传写好的压测脚本sudo rz -be
2、执行压测sudo jmeter -n -t HTTP请求.jmx,执行过程中能实时看到压测结果,如果想停止ctrl+c就行

image.png
3.压测过程中,同时要关注目标机器能耗情况和日志,多开几个linux窗口,登上目标服务器,当然如果你们公司有监控平台,机器监控可以上监控平台看

4、生成压测报告test.jtlsudo jmeter -n -t HTTP请求.jmx -l test.jtl,在temp目录下ls能看到生成的test.jtl文件

5、下载测试报告到本地 sz /xxx/temp/test.jtl,xxx是你的路径,方便后续压测结果的分析,这个文件可以导入到jmeter里

image.png

6、如果需要多次测试不同参数,需要先删除linux的所有上次测试 jtl与jmx文件后,并且在本地按照上述重新设置好新参数,上传服务器进行执行。

四、压测结果分析

1、业务指标

示例:

summary = 287323 in 00:00:39 = 7442.4/s Avg: 3 Min: 2 Max: 57 Err: 0 (0.00%)
summary + 237005 in 00:00:30 = 7900.2/s Avg: 3 Min: 2 Max: 45 Err: 0 (0.00%) Active: 24 Started: 24 Finished: 0


image.png
说明

summary + :是增量的值;
summary = :是当前的累计值;
summary =287323 in 00:00:39:在39秒内产生的总请求数是287323 个,其中的时间段是从脚本运行开始计算到当前时间为止,一般在脚本运行过程中主要关注 “summary=” 信息即可;
7442.4/s:系统每秒处理的请求数,相当于TPS;
in 00:00:39 = 7442.4/s:总执行时长,平均执行速度=7442.4/00:00:39;
Avg: 3:平均响应时间;
Min: 2:最小响应时间;
Max: 57:最大响应时间;
Err: 0 (0.00%):错误数/率;
Active: 24:活动的线程数;
Started: 24启动的线程数;
Finished: 0完成的线程数;

image.png
说明

Samples:本次测试场景共运行多少线程;
average:平均响应时间;
median:统计意义上的响应时间中值;
90%line:所有线程中90%的线程响应时间都小于xx的值;
95%line:所有线程中95%的线程响应时间都小于xx的值;
99%line:所有线程中99%的线程响应时间都小于xx的值;
min:最小响应时间;
max:最大响应时间;
error:错误率;
throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second) 可类比为qps
received:接收数据量
sent:发生数据量

2、机器指标

这些指标一般公司都有机器监控平台,可以很直观的看到压测期间的波动情况,便于结果分析。

上一篇 下一篇

猜你喜欢

热点阅读