Jmeter学习:分布式压测

GUI 模式中的不足
A:图形展示与压力机在本机,压测性能受本机的资源限制(CPU 和内存)
B:本机与应用程序大多数不在同一网段,网络上有延迟和带宽限制
C:无法扩容,压力机存在上限
分布式压测的原理&意义
1. Jmeter 分布压测原理图

2. Jmeter 分布式压测意义
A:压力端与图形端彻底分离,解决了 Jmeter 压测受限于本机性能问题
B:Jmeter 服务端通常与被测应用程序在同一网段,解决了网络上的延迟与带宽受限问题
C:服务端支持横向扩容
3. 分布式压测限制
图形端与 Jmeter 服务端要求网络双通,能相互 ping 通
Jmeter 服务端与被测应用程序最好在同一网段(这样性能最佳)
4. 分布式压测注意事项
1、服务端最好指定 IP,防止多网卡造成的连接不上的困惑
在 jmeter-server 中指定 RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.128.166
2、默认端口 1099 注意与本机其它应用程序是否冲突
3、同一台主机若安装多实例 Jmeter,需要修改 1099 端口
4、在采用远程压测的时候,文件一定要用相对路径,压测之前,需要把文件先复制过去;
4.1 将csv文件拷贝到每个remote主机的jmeter bin目录下,就可以通过引用上面两个系统变量来引用csv文件。csv文件的路径可以如下:${__P(user.dir)}${__P(file.separator)}test.csv
4.2 如果觉得作为测试数据的csv文件放到bin目录下不太合适,也可以在jmeter的根目录下创建一个专门存放测试数据的目录,如:data,此时引用csv的路径可以使用相对路径来引用:${__P(user.dir)}${__P(file.separator)}../data${__P(file.separator)}test.csv
5、压测过程中的问题可以通过服务端的 jmeter-server.log 进行排查定位