Jmeter分布式搭建测试

原理

1、Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。
2、执行时,Controller会把脚本发送到每台Agent上,Agent 拿到脚本后开始执行,Agent执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,它应该是通过命令行模式来执行的。
3、执行后,Agent会把结果回传给Controller,Controller会收集所有Agent的信息并汇总

图形解释

Jmeter分布式搭建测试_第1张图片
image.png

环境

  • 两台机器:一台WIN7 一台win10(笔记本)
  • jmeter版本4.0
  • jmeter 安装教程 Jmeter下载安装,插件使用,mave,git,tomcat环境变量配置

两台机器配置jmeter变量 有多少台配置多少台

  • JMETER_HOME D:\software\JMETER4.0\apache-jmeter-4.0

  • CLASSPATH %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar; %JMETER_HOME%\lib\jorphan.jar;

  • path %JMETER_HOME%\bin;

要做分布式的前提:

  • 保持一致:jdk一致、
  • jmeter版本一致(本机zip) 脚本最好是放到jmeter的zip
  • 插件的一致性
  • 网络 同一个局域网

如何保存2台机器是在同一个网络呢?

1. 可以连接同一个wife

2. 出在同一个局域网下面,并且固定好他的IP?如何设置呢?如下操作

  • 更改适配器设置,IP设置成固定 其他可以一致。参考关于InletexEMC.exe屏幕共享软件设置

步骤

step-1. 修改jmeter为中文,并且解决出现乱码的问题

1).搜索ctrl+f language=en 在下面添加 language=zh_CN

image.png

2). 搜索 sampleresult.default.encoding=ISO-8859-1,下面添加sampleresult.default.encoding=UTF-8

image.png

包jmetrer打包成zip 传到执行机里面

step2. **执行机**修改jmeter.properties

执行机修改jmeter.properties文件的相关内容 在bin目录下可以找到这个文件,notepad++打开这个文件

1. 搜索server-port 改成 server_port = 1234 这个端口可以自定义

Jmeter分布式搭建测试_第2张图片
image.png

2.搜索 rmi.port 改成 server.rmi.port = 1234

Jmeter分布式搭建测试_第3张图片
image.png

3.搜索 ssl.disable 改成 server.rmi.ssl.disable=True(去掉认证)

Jmeter分布式搭建测试_第4张图片
image.png

不使用认证证书 因为是在同一个局域网上,不存在安全问题。

4. jmeter bin 目录启动服务jmeter-server.bat:

linux bin目录赋予 执行 chmod +x -R bin/ (linux jmeter-server.sh 需要有执行权限 chmod 777 jmeter-server.sh )

jmeter bin启动:sh jmeter-server.sh -Djava.rmi.server.hostname=ip地址
               windows下执: jmeter-server.bat -Djava.rmi.server.hostname=ip地址

  • cd 到 jmeter bin目录,执行 jmeter-server.bat -Djava.rmi.server.hostname=ip地址
Jmeter分布式搭建测试_第5张图片
Jmeter分布式搭建测试_第6张图片
image.png

5. 关闭防火墙:控制面板---windows防火墙

Jmeter分布式搭建测试_第7张图片
image.png

6.telnet的开启关闭操作 如果本地你已经装好telnet就不用这一步骤

Jmeter分布式搭建测试_第8张图片
image.png
Jmeter分布式搭建测试_第9张图片
image.png
Jmeter分布式搭建测试_第10张图片
image.png
Jmeter分布式搭建测试_第11张图片
image.png

开始--服务--按键盘T ---telnet 设置成手动 并且启动起来


Jmeter分布式搭建测试_第12张图片
image.png

7. 在控制机 CDM输入 telnet ip 端口号 尝试连接一下 执行机

Jmeter分布式搭建测试_第13张图片
image.png
Jmeter分布式搭建测试_第14张图片
image.png

以上执行机操作完毕 接下是配置 控制机

step3. **控制机**修改jmeter.properties

1.打开/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,进行修改,如下图所示,这一步的目的是把所有的执行机的IP地址都加进来。

Jmeter分布式搭建测试_第15张图片
image.png

2.搜索 ssl.disable 改成 server.rmi.ssl.disable=True(去掉认证)

Jmeter分布式搭建测试_第16张图片
image.png

不使用认证证书 因为是在同一个局域网上,不存在安全问题。

3..搜索 mode=Standard 改成 去掉前面的警号 打开标准模式,能看到jmeter日志

Jmeter分布式搭建测试_第17张图片
image.png

4. 重启jmeter

脚本开发

这里我就随便模拟下,所以我用了假接口取样器(jp@gc - Dummy Sampler),
监听器:添加了 Summary Report
聚合报告
jp@gc - Active Threads Over Time
jp@gc - Transactions per Second
jp@gc - Response Times Over Time

Jmeter分布式搭建测试_第18张图片
image.png

菜单栏点击运行--鼠标放在远程启动 你配置的执行机就会被发现

Jmeter分布式搭建测试_第19张图片
image.png

Jmeter分布式搭建测试_第20张图片
image.png
Jmeter分布式搭建测试_第21张图片
image.png

我们也可以将控制机也当成执行机,讲控制机的操作步骤像执行机那样设置一次就可以了

Jmeter分布式搭建测试_第22张图片
image.png
Jmeter分布式搭建测试_第23张图片
image.png
Jmeter分布式搭建测试_第24张图片
image.png

修改一下脚本 把请求放在循环控制器里面看看总请求是否等于 执行机台数 X 线程数 X 循环次数
操作如下图:

Jmeter分布式搭建测试_第25张图片
image.png
Jmeter分布式搭建测试_第26张图片
image.png
Jmeter分布式搭建测试_第27张图片
image.png

总结:

=========执行机配置============

jmeter.properties
server_port = 1234
server.rmi.port = 1234
server.rmi.ssl.disable=true(去掉认证)
linux bin目录赋予 执行 chmod +x -R bin/ (linux jmeter-server.sh 需要有执行权限)
jmeter bin启动:sh jmeter-server.sh -Djava.rmi.server.hostname=IP
                          windows jmeter-server.bat -Djava.rmi.server.hostname=ip
配置防火墙:systemctl stop firewalld.service

================控制机配置===============

主控机器:jmeter.properties:
remote_hosts= 助攻机器ip:端口
server.rmi.ssl.disable=true
mode=Standard 可选
重启jmeter

你可能感兴趣的:(Jmeter分布式搭建测试)