目录
一、使用缘由
二、配置流程
1.下载jmeter安装包
2.配置调度机
3.配置执行机
4. 调度测试
三、参考文档
目的:通过压测,熟悉项目的各项指标,同时观察压测结果及监控数据,目的是根据各项数据尝试调整各项参数完成单机调优。
目前,自动化构建+压测是这么一个过程:
之后,集成jenkins+grafana+prometheus完成压测监控
本文主要描述Jmeter分布式压测的配置过程,后续将继续完成整个自动化测试过程。
网上到处都有安装包,暂且我的云仓库可提供下载地址:
http://bucket-local-2.oss-cn-beijing.aliyuncs.com/apache-jmeter-5.2.1.tgz
在shell上直接用wget命令获取即可
[root@dylan test]# wget http://bucket-local-2.oss-cn-beijing.aliyuncs.com/apache-jmeter-5.2.1.tgz
下载完成后解压包:
[root@dylan jmeter]# sudo tar -zxvf apache-jmeter-5.2.1.tgz
修改环境变量,在/etc/profile的export下增加一行:
export PATH=$PATH:/mnt/jmeter/apache-jmeter-5.2.1/bin
执行命令: source /etc/profile 使环境变量生效即可
验证结果:
注意:后续的调度机(master)和执行机(slave)都需要安装jmeter
调度机作用:用来调度其他机器,完成jmeter测试
调度机(master)的当前ip为:192.168.196.216
执行机(slave)的当前ip为:192.168.196.17
请根据自己的服务器进行修改
(1).修改配置文件
进入apache-jmeter-5.2.1/bin 目录,按以下配置修改jmeter.properties配置文件
remote_hosts=192.168.196.17:1099
server_port=2099
server.rmi.ssl.disable=true
简述:
如图:
(2).生成密钥:rmi_keystore.jks
进入 apache-jmeter-5.2.1/bin 目录,执行命令:
[root@dylan bin]# sudo ./create-rmi-keystore.sh
将会生成文件 rmi_keystore.jks 需要将它复制到执行机的 apache-jmeter-5.2.1/bin目录下
如图:
此时, 调度机已配置完成。
执行机描述:顾名思义,它是执行压测发起的机器,它开启线程来发出请求
执行机(slave)的当前ip为:192.168.196.17
请根据自己的服务器进行修改
(1).修改配置文件
进入apache-jmeter-5.2.1/bin 目录,按以下配置修改jmeter.properties配置文件
server.rmi.ssl.disable=true
如图:
(2).修改配置文件 system.properties
在apache-jmeter-5.2.1/bin目录下执行命令:sudo vim system.properties
在system.properties的文件最后一行增加以下配置
java.rmi.server.hostname=192.168.196.17
如图:
操作完成后, 将调度机产生的密钥文件:rmi_keystore.jks 放置到jmeter目录下。
(3).验证启动状态
在/apache-jmeter-5.2.1/bin下执行命令:sudo ./jmeter-server
若出现以下示例,则证明执行机配置成功
此刻,二者都已配置完毕,需要进行操作验证
通过jmeter操作界面生成测试文件test.jmx 放置在调度机的某个目录下。
案例:
之后,开启服务端,进入执行机 jmeter的bin目录下,启动执行机:
[root@iZ2ze8pbai447rborr4wtfZ bin]# sudo ./jmeter-server
在调度机执行test.jmx完成分布式压测:
[root@dylan my_threads]# jmeter -n -t test.jmx -r -l test.jtl
命令说明:
产生类似以下结果,则证明配置完成:
调度机:
执行机:
linux下Jmeter的分布式压测模拟已完成。
1.JMeter 4.0 分布式测试原理及填坑注意事项:https://www.jianshu.com/p/b24c271a148a
2.使用Jmeter在linux环境实现分布式负载:https://blog.51cto.com/6183574/2322003