文章目录
- 一、分布式
-
- [1.1 为什么使用分布式](#1.1 为什么使用分布式)
- [1.2 什么是分布式](#1.2 什么是分布式)
- [1.3 分布式原理](#1.3 分布式原理)
- 二、分布式配置
-
- [2.1 代理机(Agent)配置](#2.1 代理机(Agent)配置)
- [2.2 控制机(Controller)配置](#2.2 控制机(Controller)配置)
- 三、实施案例
-
- [3.1 搭建目录结构](#3.1 搭建目录结构)
- [3.2 执行机和控制机配置](#3.2 执行机和控制机配置)
- [3.3 执行机和控制机启动](#3.3 执行机和控制机启动)
- 四、注意事项
一、分布式
1.1 为什么使用分布式
- 在使用JMeter进行性能测试时, 如果并发数比较大(比如项目需要支持10000并发), 单台电脑的(CPU和内存)可能无法支持, 这时可以使用JMeter提供的分布式测试的功能。
- 或者说:计算机的硬件配置,会在性能测试过程中,成为制约数据设置的重要瓶颈
1.2 什么是分布式
将一个测试目标,分摊到多个主机上,分开部署执行。
1.3 分布式原理
- 分布式测试时通常由1台控制机和N台代理机组成。
- 控制机:给代理发送任务,接收代理机返回的数据统计,做汇总展示。
- 代理机:往服务器发送HTTP请求,并接收服务器的响应,并对响应进行处理。

二、分布式配置
file:///C:/Z/Test/apache-jmeter-5.6.3/printable_docs/index.html
当下最新款CPU所支持的线程数:

2.1 代理机(Agent)配置
yacas
1. Agent机上需要安装JMeter
2. 配置当前代理机的port:
- 打开bin/jmeter.properties文件,修改`server_port`,比如:`server_port=2001`
3. 将RMI SSL设置为禁用
- 打开bin/jmeter.properties文件, 修改为: server.rmi.ssl.disable=true
4. 运行Agent上的jmeter-server.bat文件,启动JMeter
2.2 控制机(Controller)配置
yacas
1. 修改bin/jmeter.properties文件下`remote_hosts`,IP和port是代理机的。如果有多个用英文逗号隔开。
- 示例:`remote_hosts=192.168.182.100:1099,192.168.182.101:1099`
2. 将RMI SSL设置为禁用
- 打开bin/jmeter.properties文件, 修改为: server.rmi.ssl.disable=true
3. 启动JMeter
4. 选择菜单: 运行-->远程启动/远程全部启动
三、实施案例
需求:一台控制机和两台执行机, 做分布式; 要求控制机启动, 两台执行机执行, 反馈结果;
3.1 搭建目录结构

3.2 执行机和控制机配置
1、 执行机A配置修改:

2、执行机B配置修改:

3、控制机配置修改;

3.3 执行机和控制机启动
1、代理机:进入bin目录下,执行jmeter_server.bat。(启动执行机A和执行机B)
yacas
【注意】︰如果启动报错:
用编辑器打开jmeter-server文件(无论Mac还是Windows)修改30行:
改为:RMI_HOST_DEF=-Djava.rmi.server.hostname=127.0.0.1并保存。
windows系统,重启后使用"管理员身份"运行jmeter-server.bat 文件。

2、控制机:进入bin目录下,执行jmeter.bat。启动时,点击"运行"---"远程启动所有"控制代理机的运行 。
yacas
目标:60次并发访问。线程数=30 (因为有2台分布式机器,控制机只是汇总数据)

3、查看聚合报告。

四、注意事项
1、当下,最新款CPU所支持的线程数:1000~2000
2、windows系统,发送网络请求时,TCP协议最大连接数限制!
