Apache JMeter分布式测试

Posted 居安思危

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache JMeter分布式测试相关的知识,希望对你有一定的参考价值。

Apache JMeter分布式测试分步骤

这个简短的教程解释了如何使用多个系统来执行压力测试。在我们开始之前,有几件事要检查。

  • 系统上的防火墙被关闭或正确的端口被打开。
  • 所有的客户端都在同一个子网上。
  • 如果使用192.xxx10.xxx IP地址,服务器在同一个子网中。如果服务器不使用192.xx10.xx IP地址,则不应该有任何问题。
  • 确保JMeter可以访问服务器。
  • 确保在所有系统上使用相同版本的JMeter和Java。混合版本将无法正常工作。

一旦确定了系统已经准备就绪,就可以开始远程测试了。本教程假定您已经在所有系统上安装了JMeter。JMeter的工作方式是一个主控制器在多个从属系统上启动测试。

 
在本教程中,我们仅使用GUI模式进行演示。在现实生活中,你应该使用非GUI模式来开始你的负载测试
 

技术分享图片一个主人控制多个奴隶

1术语

在我们深入分步说明之前,最好定义一些术语并确保清晰。

运行JMeter GUI的系统,它控制测试
奴隶
运行jmeter-server的系统,它接受来自GUI的命令并向目标系统发送请求,
目标
我们打算强调测试的网络服务器
技术分享图片系统类别

2分步

  1. 在从属系统上,转到jmeter / bin目录并执行 jmeter-server.bat在unix上的jmeter-server)。
  2. 在作为控制台的主系统上,打开Windows资源管理器并转到 jmeter / bin目录
  3. 在文本编辑器中打开jmeter.properties
  4. 编辑行remote_hosts = 127.0.0.1
  5. 添加IP地址。例如,如果我有运行在192.168.0.10,...,192.168.0.15上的JMeter服务器,则条目将如下所示:
    remote_hosts = 192.168.0.10,192.168.0.11,192.168.0.12,192.168.0.13,192.168.0.14
  6. 启动JMeter。
  7. 打开你想要使用的测试计划
技术分享图片简单的测试计划

2开始测试

此时,您已准备好开始负载测试。如果您想仔细检查从属系统是否正常工作,在您的编辑器中打开jmeter.log您应该在日志中看到以下内容。

将日志文件写入:/XXXX/XXXXX/bin/jmeter-server.log
创建的远程对象:UnicastServerRef [liveRef:[endpoint:[192.XXX:XXXXX](local),objID:[ -  6a665beb:15a2c8b9419:-7fff,3180474504933847586]]]

如果你没有看到这个消息,这意味着jmeter-server没有正确启动。有关调试问题的提示请转到提示部分有两种方法来启动测试:一个系统和所有系统。

3启动一个客户端

  1. 点击顶部的运行
  2. 选择远程启动
  3. 选择IP地址
技术分享图片开始一个奴隶

4启动所有客户端

  1. 点击顶部的运行
  2. 选择远程全部开始或使用Ctrl  +  Shift  +  R
技术分享图片启动所有的奴隶

5限制

分布式测试有一些基本的限制。这是已知项目的列表,没有特定的顺序。

  1. RMI不能在没有代理的情况下跨子网进行通信; 因此JMeter也不能没有代理。
  2. 从版本2.9开始,JMeter将所有测试结果剥离响应数据发送到控制台,这样可以减少对网络IO的影响。确保您监控您的网络流量,以免流量造成争用
  3. 运行在2-3 GHz CPU(最新CPU)上的单个JMeter客户端可以根据测试类型处理1000-2000个线程。

 

7提示

在某些情况下,防火墙可能仍然阻塞RMI流量。

防病毒和防火墙

 
在负载测试期间应该停止杀毒软件,因为它会严重影响导致错误结果的时间。
 

防火墙需要停止从Windows服务或至少一些端口需要打开。

  1. 打开控制面板
  2. 打开管理工具
  3. 双击服务
  4. 进入赛门反病毒,右键单击并选择停止

Windows防火墙

  1. 打开网络连接
  2. 选择网络连接
  3. 右键单击并选择属性
  4. 选择高级选项卡
  5. 取消选中互联网连接防火墙

Linux的

 

在RedHat(或衍生产品)上,iptables默认是开启的。执行

服务iptables停止
停止Linux防火墙或确保您打开正确的端口。

以上是关于Apache JMeter分布式测试的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter分布式压力测试

jmeter分布式测试

JMeter远程分布式联机性能测试

jmeter分布式性能测试部署

linux使用JMETER进行分布式压力测试

性能测试工具 jmeter 分布式压力测试实操