JMETER中分布式压测

一、什么是分布式压测?原理是什么?

分布式压测:多台机器对服务器同时施加压力
分布式压测原理:
1)分布式测试时,选择其中一台作为调度机(master),其他作为执行机(slave)
2)执行时,master会把脚本分发到每个slave中,这个过程我们看不见他们是怎么发的
3)执行完成后,slave会把执行结果回传给master,master收集所有信息并进行汇总
在这里插入图片描述
另:配置负载机是需要注意以下几点:

  • 调度机和负载机上,均需安装相同版本的 JMeter及JDK,每一台负载机上的 JMeter 的插件也必须一致;
  • 脚本需要使用CSV Data Set Config参数化时,每台slave机上均需上传该参数化的文件,且文件所在每个负载机的路径需一致;
  • 作为负载机的硬件条件尽量保持一致: CPU、内存、硬盘。

**

二、为什么要进行分布式压测?

**
因jmeter自身限制,少量并发时可以执行压测,当并发量较大时,例如5000,若jmeter只支持1000个并发,则需要用到分布式压测了、
**

三、怎样进行分布式压测?

**

windows下分布式集群实现:ping不通首先查看是否关闭防火墙再查看是否在同一网段
(1)调度机(master):找到Jmeter的bin目录下jmeter.properties文件修改remote_hosts=ip:port,ip和port为slave的IP地址,port默认为1099,多台slave之间用逗号隔开
eg:
调度机:本机作为调度机也作为slave
slave1:127.0.0.1
salve2:192.168.111.111:8080
slave3:192.168.132.110:8081
slave4:192.168.123.123:8082

在这里插入图片描述

**

(2)执行机需完成两步:关闭防火墙和启动jmeter服务

  • 若执行机是windows的,则以管理员身份启动bin目录下的jmeter-server.bat
  • 若执行机是linux的,则启动bin目录下的jmeter服务:./jmeter-server

(3)在调度机中启动jmeter,选择运行,有远程启动和远程全部启动两个选项,刚加入的地址列表能展示到两项列表中,则可以开始进行分布式压测了
在这里插入图片描述

设置自定义端口:
上面其实已经实现了Jmeter的分布式测试,这部分主要介绍下如何自定义slave端口:
1、slave:在slave机的Jmeter的bin目录下,找到jmeter.properties文件,修改如下两个配置项,比如我这里修改为1888:
erver_port=1888
erver.rmi.localport=1888
2、启动slave机上的jmeter-server.bat,验证端口是否已经修改为:1888
3、master:修改master机器的jmeter.properties文件:
remote_hosts=10.13.223.202:1000,10.13.225.12:1888
4、重启jmeter.bat,验证端口是否已经变了:
通过ServerAgent监控服务器的cpu memory等信息,监听的服务器必须先运行startAgent服务

猜你喜欢

转载自blog.csdn.net/weixin_39772200/article/details/90511474