Jeter分布式(远程)测试:主从配置

什么是分布式测试?

使用客户端-服务器模型分发测试,如下图所示:

How to perform Distributed Testing in JMeter
How to perform Distributed Testing in JMeter
  • 主机:系统运行JMeter GUI,控制各个从机。
  • 从:运行JMeter-server的系统接收来自主服务器的命令,并向被测服务器发送求。
  • 目标:正在测试的Web服务器,收到从属服务器的求。

远程测试示例

前提条件:

  • 系统上的防火墙已关闭。在某些情况下,应该禁用Windows防火墙或Linux防火墙。
  • 所有机器应位于同一子网中。如果机器不在同一子网上,它们可能无法在网络中识别彼此。
  • 使用相同版本的JMeter以避免意外的错误/问题。

以下是此测试的路线图:

How to perform Distributed Testing in JMeter
How to perform Distributed Testing in JMeter

步骤1) 系统配置

设置从系统,进入jeter/bin目录,执行“jeter-server.bat”文件。 假设从机的IP地址为:192.168.0.10。在Windows上,应该会看到一个窗口,如下图所示:

How to perform Distributed Testing in JMeter
How to perform Distributed Testing in JMeter

在主系统上,转到/bin目录并编辑jmeter.properties文件,如下所示添加IP从属计算机

How to perform Distributed Testing in JMeter
How to perform Distributed Testing in JMeter

步骤2) 运行测试

此时,已经准备好开始负载测试。在主计算机上,运行JMeter GUI并打开测试计划。 单击菜单栏上的Run(运行);选择Remote Start(远程启动)->选择从机IP地址

How to perform Distributed Testing in JMeter
How to perform Distributed Testing in JMeter

步骤3) 故障排除

如果无法在上面的机器上运行测试并看到下面的错误,只需要求从属机器的所有者运行JMeter-server.bat文件。

How to perform Distributed Testing in JMeter
How to perform Distributed Testing in JMeter

在主计算机和从属计算机上禁用防火墙以修复此错误。

限制:

分布式测试有一些基本限制。以下是已知物品的列表:

  • 服务器和所有客户端必须位于同一子网中。
  • 分布式测试要求目标服务器具有强大的处理能力。如果分布式JMeter测试收到太多求,目标服务器很容易过载。
  • 单个JMeter只能处理有限数量的线程(100-300个线程)。
  • 分布式JMeter测试非常复杂,初学者很难构建。

IT赶路人

专注IT知识分享