Jmeter分布式压力测试全过程(阿里云ECS)

测试环境搭建

测试脚本生成

非GUI界面测试操作

测试报告

本文主要是总结以下自己学习Jmeter的过程,测试用的接口和测试脚本都很简单。

1、测试环境搭建

首先是测试服务器

因为自己没有可以搭成局域网的机器,所以测试环境选择阿里云的ECS服务器,1核1G的Linux服务器一周仅需十几块钱,而且可以跳过复杂的网络搭建过程,排除本地网络的影响,直接上手。
我在有优惠的华北3购买了4台服务器
在同一个区的服务器默认是内网互联的,正好符合分布式测试,master和slaves要在同一个子网的要求。
点击右侧管理->本实例安全组->配置规则->添加安全组规则,如图设置,就可以远程ssl访问了。
在这里插入图片描述
打开xshell,新建一个连接,主机填写公网ip,用户名填云服务器设置的用户名和密码就行了。
(可以在xftp上也建立连接,传文件方便)。

然后配置云服务器的JDK和Jmeter

可以在Oracle官网下载jdk的安装包(.tar.gz),下载后在xftp上可以直接拖到云服务器上,个人感觉从本地向云服务器上传文件还是很快的。
然后执行解压命令:tar -zxvf jdk-xxx-xxx-xx.tar.gz
解压后需要配置环境变量:vim /etc/profile
在profile文件末尾添加:

export JAVA_HOME=/usr/local/software/jdk8
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

保存退出后,执行source /etc/profile使文件生效,再执行javajava -version命令,如果命令有效,说明安装成功。

同理,Jmeter也可以通过这种方式安装。
(Jmeter也可以通过wget +[下载连接]的方式安装,而由于Oracle官网禁止了这种方式,所以JDK只能通过下载安装包的方式安装了)

给你所有的服务器都装上相同版本的JDK和Jmeter(安装路径也建议相同),服务器之间可以直接通过scp -r [本机文件路径] [目标主机用户名]@1[]目标主机地址:[目标主机文件路径]再云服务器之间传输文件,目标主机地址建议选择内网地址。

都安装完成后就可以进行下一步了。

2、测试脚本生成

打开Jmeter的GUI界面, 添加一个新的线程组,一个http请求,设置线程数,重复次数,http请求地址,协议等。保存测试计划,会生成一个.jmx文件。
在这里插入图片描述
把jmx文件传到master服务器。

master配置

在jmeter安装目录下,有/apache-jmeter-5.2.1/bin/jmeter.properties文件,用vim打开它。
找到remote_hosts,将其配置为slave服务器的地址remote_hosts=172.26.141.176:8899,172.26.141.175:8899,172.26.141.174:8899
这里写的是私网地址,比公网速度更快。
找到server.rmi.ssl.disable=false,将false改为true

slaves配置

同样的jmeter.properties文件,server.rmi.ssl.disable=trueserver_port=8899,这里的8899只要和,master配置中的remote_hosts相同就可以了。

非GUI界面测试操作

先启动每一个slaves机器上的jmeter服务器:./jmeter-server
显示出创建结点相关信息的时候就是启动成功了
在这里插入图片描述当然也可以用nohup ./jmeter-server &来创建守护进程,这样即使关掉了slave服务器的控制台,jmeter进程也不会结束。

然后再在master上创建jtl文件夹用来存放测试输出的jtl文件,创建result文件夹存放html测试报告。
然后执行命令:./jmeter -n -t [jmx文件路径] -r -l [jtl文件输出路径及文件名] -e -o [html测试报告路径]
-h 帮助
-n 非GUI模式
-t 指定要运行的 JMeter 测试脚本文件
-l 记录结果的文件 每次运行之前,(要确保之前没有运行过,即xxx.jtl不存在,不然报错)
-r Jmter.properties文件中指定的所有远程服务器
-e 在脚本运行结束后生成html报告
-o 用于存放html报告的目录(目录要为空,不然报错)
在这里插入图片描述slaves会显示开始测试
在这里插入图片描述
注意:执行./jmeter命令时一定要在bin目录下执行

压测过程中,master会持续输出线程数,相应时间,错误数量等信息。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200406151401650.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1Njg5NTEy,size_16,color_FFFFFF,t_70

测试报告

将生成的测试报告传回本地。
在Jmeter中新建一个聚合报告,点击浏览可以打开传回.的jtl文件。
html测试报告用浏览器打开,显示较为详细的测试结果,再此不过多赘述。

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值