需求
- 单台负载机存在瓶颈:负载机性能不足(例如内存CPU不足)
- 单台负载机存在瓶颈:网络原因(例如端口不足)
- 业务场景需要
模型
- slave启动后显示的端口号是回传测试结果的端口号
- 接收Master指令和脚本的端口号默认为1099
- 查看1099端口是否被占用
netstat -ano | findstr "1099" tasklist | findstr "1099")
- 脚本中设置的并发如果是100,那么每个slave都是100并发,总并发是所有slave之和。因此jmeter无法个性化配置不同的slave压力,这点不如LR
特点
- 真实的性能测试,不存在网络瓶颈问题
- GUI仅限windows平台,命令行可在linux与windows
- 测试结果保存在本地一台master上
- 使用这台master管理多个Jmeter Engines,也叫做slave
- 测试脚本会被master自动发送到作为负载生成器的slave,但数据文件不会
注意
- master也可以同时作slave,但要注意负载适量
- 所有负载生成器slave上安装相同的jmeter与jdk
- 防火墙和杀毒软件要关闭或过滤
- 确保所有master与slave在同一个网段或子网,没有网络延迟
- master与slave可以是windows或linux,不必全部是同一个OS,但要开放防火墙,否则connect fail
- 脚本使用的数据文件(比如CSV)需要单独传到每个slave,并且脚本中指定的文件路径要能够在每个slave找到该文件,常使用相对路径,较方便