应用场景:
在实际测试中,有时我们的服务器能够抗住很高的并发,而我们的单台负载机只能产生很小的压力,也就是说单台负载机能够产生的压力远远达不到服务器能够抗压的极限,举个栗子:假设咱们的服务器能够抗住3000的并发,而我们自己产生压力的电脑也就是负载机最多只能产生1000的并发,此时如何模拟3000的并发来测试服务器是否能够抗住3000的压力?
解决方案:使用Jmeter 的M-S 分布式压测

M-S 分布式压测的原理:
M-S分布式压测主要分为3部分,第一部分是调度操控全局的主节点,第二部分是负责接受操控并产生压力的从节点,第三部分是承受压力的服务器,其工作原理如下图:
M-S分布式压测配置

这里的M即Master的缩写,指我们的主节点,S即Slave的缩写,指我们的从节点。

工作分工:
主节点:负责准备测试脚本,调度各个从节点产生压力和收集汇总从节点回传的测试数据,本身不产生压力
从节点:负责接受主节点的调度,根据测试脚本产生压力和回传自己的压测数据给主节点,是真正产生压力的机器
服务器:负责承受压力,给出适当的业务反馈
前面提到的场景中,一台负载机最多只能产生1000的负载,假设每台负载机产生负载的情况差不多(当然实际每台机器产生的负载不一样,受限于产生最低负载的那台机器),那么理论上使用3台机器则可以产生3000的压力,达到服务器要求的3000并发。

M-S 分布式压测的配置:
step1 主节点:
1)准备测试脚本,注意修改脚本中被测服务器的ip,一定不能是localhost,否则待会运行的时候会产生从节点自己压自己的情况
2)配置主节点操控的从节点ip ,jmeter.properties remote_hosts=192.168.50.xx, 192.168.50.yy,多个ip之间用“,”分隔

step2 从节点:
1)同意被主节点控制 –》打开 jmeter-server.bat

step3 服务器:需要开启服务器、开启server-agent
step4 运行分布式压测:
主节点打开GUI界面,然后点击运行—》远程启动,开启远程压测,此时可以在监听器里面监听到所有节点的运行情况

注意点:
1) 双方的防火墙必须关闭,目的是保证数据能够回传
2)如果其他配置都成功了,但是依旧不能正常运行,可能需要修改下jmeter.properties 文件中server.rmi.ssl.disable=true,禁用ssl
3)脚本当中有外部依赖文件,比如.txt ,.csv ,这种外部文件必须手动拷到从节点的能够找得到的目录

无论你在学习上有任何问题,重庆蜗牛学院欢迎你前来咨询,联系QQ:296799112

相关文章:

  • 2022-12-23
  • 2021-04-28
  • 2021-11-27
  • 2021-12-27
猜你喜欢
  • 2021-04-21
  • 2021-06-29
  • 2021-09-27
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
相关资源
相似解决方案