jmeter_ 分布式压测+csv参数化分布式压测 _2021-10-23

分布式压测条件

1、运行相同版本的JMeter

2、使用相同的java版本

3、都在一个网段

4、server.rmi.ssl.disable开关一致

5、关闭防火墙

6、使用的JMeter插件一致

 一、首页实现分布式压测,两台计算机需要在同一网段

什么是同一网段呢,ip地址分类

 A类网段:第一位一致就是同一网段

B类网段:前两位一致就是同一网段

C类网段,前三位一致就是同一网络

二、前期准备

1、分布是压测,分为控制器(controller)和代理(agent),也用的叫master机和slave机

controller 负责把脚本分发给 agent执行。

agent 负责执行脚本,产生对服务器的实际压力

agent 执行脚本后,把压测的结果发送给 controller。

controller 作为控制器不加入实际测试,只负责发送和收集 agent 信息。

2、前期这两个电脑要能ping得通,ping不通主要原因可能如下

(1)防火墙问题,两台机器的防火墙没有关闭

(2)系统——>高级系统设置——>远程——>勾选允许远程协助

三、配置master机和slave机

1、开始配置master机和slave机

例如:master机,我们管他叫master,有两台slave机,我们管他叫slaveA  ,slaveB

(1)首先,获取到slaveA 和 slaveB的ip地址,并记住,后面要用

ip地址

(2)修改slaveA和slaveB bin下的jmeter.properties文件

remote_host=127.0.0.1   打开注释

server_port = 1099    只要1099端口没被别的应用占用,可不改,改的话mater和slave的端口要保持一致

server.rmi.ssl.disable = true   禁止认证

(3)启动  slave端  jmeter-server 服务

        仍然在 bin 目录下哦

        如果压力机是 linux 或 mac:./jmeter-server-Djava.rmi.server.hostname=压力机ip

        如果压力机是windows: jmeter-server.bat-Djava.rmi.server.hostname=压力机ip

      例“ .\jmeter-server -Djava.rmi.server.hostname=192.168.1.103”( 注意host等于号两边不可以有空格

(4)配置mater端:修改bin下的jmeter.properties文件

remote_hosts=192.168.1.103:1099(slave的ip和端口号,如果是多个,用逗号隔开)

server_port=1099 (与slave端一致)

server.rmi.ssl.disable = true   禁止认证

mode=Standard  如果设置,则结果树中查看不到slave的请求和响应信息

2、开始压测

master端

master开始运行
master查看结果

slave端收到mater端开始执行的命令后

slave端

四、代csv参数化,分布式压测的配置方式

只要将csv的文件夹,master机和slave机放在同样的路径下就可以

但注意的是,master机的csv插件一定要和slave机的一致,笔者遇到的坑是用了一个csv的随机插件,但slave机上没有,结果就会报如下错误

后来将slave机同样安装了csv的随机插件,就解决了

你可能感兴趣的:(jmeter_ 分布式压测+csv参数化分布式压测 _2021-10-23)