【Jmeter】linux下Jmeter分布式压测

目录

一、使用缘由

二、配置流程

1.下载jmeter安装包

2.配置调度机

3.配置执行机

4. 调度测试

三、参考文档


一、使用缘由

目的:通过压测,熟悉项目的各项指标,同时观察压测结果及监控数据,目的是根据各项数据尝试调整各项参数完成单机调优。

目前,自动化构建+压测是这么一个过程:

  1. 项目(java案例)提交时通过webhook执行jenkins构建
  2. jenkins构建完成后产生交付物到云仓库
  3. 服务器拉取交付物(jar包),部署启动环境,同时启动项目。
  4. 配置Jmeter分布式压测(多台机器同时发起请求)
  5. Jmeter开启压测。

之后,集成jenkins+grafana+prometheus完成压测监控

  1. 配置jenkins构建,通过脚本执行压测命令
  2. 配置grafana+prometheus完成对服务器的监控(内存使用率、cpu使用率等等)
  3. 根据各项指标,调整jvm等参数完成单机调优

本文主要描述Jmeter分布式压测的配置过程,后续将继续完成整个自动化测试过程。

 

二、配置流程

1.下载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

 

2.配置调度机

调度机作用:用来调度其他机器,完成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

简述:

  • remote_hosts 为执行机的ip及端口,多个执行机可通过英文逗号  ","  进行拼接

如图:

 

(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目录下

如图:

此时, 调度机已配置完成。

 

3.配置执行机

执行机描述:顾名思义,它是执行压测发起的机器,它开启线程来发出请求

执行机(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

若出现以下示例,则证明执行机配置成功

此刻,二者都已配置完毕,需要进行操作验证

 

4. 调度测试

通过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

命令说明:

  • -n  告诉jmeter使用非GUI模式执行测试
  • -t   执行的测试脚本名
  • -r  远程执行 , 在Jmter.properties文件中指定的所有远程服务器
  • -l  结果文件,如果不写路径,则在执行目录生成 

产生类似以下结果,则证明配置完成:

调度机:

执行机: 

linux下Jmeter的分布式压测模拟已完成。 

 

三、参考文档

 1.JMeter 4.0 分布式测试原理及填坑注意事项:https://www.jianshu.com/p/b24c271a148a

 2.使用Jmeter在linux环境实现分布式负载:https://blog.51cto.com/6183574/2322003

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值