JMeter Distributed Testing Step-by-step

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

     1.关闭防火墙。

     2.所有的客户端都在同一个子网上。

     3.如果使用192.x.x.x或10.x.x.x ip地址,则服务器要位于同一子网中。 如果是服务器不使用        192或10 段的ip地址,就不会有任何问题。

     4.确保JMeter可以访问服务器。

     5.确保在所有系统上使用相同版本的JMeter。 混合版本可能不会正常工作

  一旦你确定系统准备好了,那么是时候安装远程测试了。 教程假设您已经在所有系统上安装了JMeter。 JMeter工作的方式是1个master(主机)控制器多个slave(从机)开启测试。

               wKiom1jTOALgx_3kAABUVZQcKMA157.png


术语

   在我们一步步深入学习之前,最好定义下术语并且确定能清晰的理解这些术语  

    Master - 此系统运行Jmeter GUI,用于控制测试

    Slave - 此系统运行jmeter-server,它从GUI中接收命令并发送请求到目标系统

    Target - 我们计划压力测试的网络服务器

    wKiom1jTOUOjytNWAABcSqtp-Kc408.png


一步一步地

    1.在Slave系统上,转到jmeter / bin目录并执行jmeter-server.bat(在linux上是jmeter-server )。 在windows上,你应该看到一个dos窗口出现,并带有“jre \ [version] \ bin \ rmiregistry.exe”。如果没有发生这种情况,或者意味着环境设置是不正确的,或者是系统上安装了多种的JRE。注意:[version]将是系统上应该安装的jre版本。

        1.在文本编辑器中打开jmeter-server.bat

        2.转到第44行,找到“:setCP”

        3.编辑“ START rmiregistry”到完整的路径。 示例:“START”C:\ <JAVA_HOME> \             jre \ bin \ rmiregistry“

   

    2.在作为控制台的master系统上,打开Windows资源管理器并转到jmeter / bin目录

    3.在文本编辑器中打开jmeter.properties

    4.编辑行“remote_hosts = 127.0.0.1”

    5.添加IP地址。 例如,如果我在192.168.0.10,11,12,13和14上运行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.打开您要使用的测试计划

      wKiom1jTO8-S5iiuAADKa_ZHJXE139.png


开始测试

       此时,您已准备好开始加载测试。 如果要再次检查slave系统的工作情况,在记事本中打开jmeter.log。 您应该在日志中看到以下内容:

         Jmeter.engine.RemoteJMeterEngineImpl:启动后备引擎

      如果您没有看到此消息,则表示jmeter-server未正确启动。 有关调试的提示问题,请到提示部分。有两种启动测试的方法:单个系统和全部系统。

    启动单一客户端

      wKiom1jTPMWxYUC8AADavhJXT64837.png

        1.在顶部点击运行

        2.选择远程启动

        3.选择IP地址

   启动所有客户端

      wKioL1jTPTuARWJmAACtf5_hTg0217.png    

       1.在顶部单机运行

       2.选择远程启动全部或使用CTRL-Z


限制

  分布式测试有一些基本限制。以下是已知的具体内容。

  1.没有代理的话,RMI不能跨子网进行通信; 因此,没有一个代理,就不能Jmeter。

  2.由于JMeter将所有测试结果发送到控制台,容易使网络IO饱和。使用simple data writer 监听器保存结果并使用图表监听器查看文件是一个好主意。

  3.除非服务器是大型多处理器系统,否则大多数情况下,1-2个客户端就足够了压测服务器。

  4.依据测试类型,运行在2-3Ghz CPU(最近的CPU)的单个JMeter客户端可以处理300-600个线程。 (Webservices是例外)。 XML处理是CPU级的,并将快速消耗所有CPU周期。 作为一般规则,XMLcentric应用程序的性能将比使用二进制协议的应用程序慢4到10倍。作为一般规则,以XML为中心的应用程序的性能将比使用二进制协议的应用程序慢4到10倍。


额外的资源

     https://wiki.apache.org/jmeter/JMeterFAQ#How_to_do_remote_testing_the_.27proper_way.27.3F

 http://jmeter.apache.org/usermanual/remote-test.html


注意事项

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

 赛门铁克防病毒和防火墙 

    在某些情况下,Symantec防火墙需要从Windows服务中停止。 

    1.打开控制面板

    2.开放管理工具

    3.双击服务

    4.转到symantec反病毒,右键单击并选择停止

 windows防火墙 

    1.打开网络连接

    2.选择网络连接

    3.右键单击并选择属性

    4.选择高级选项卡

    5.取消选中互联网连接防火墙

Linux

   在Suse linux上,ipchains默认打开。 有关说明,请参阅用户手册中的“远程测试”。

   在RedHat(或派生系统)上,iptables(netfilter)默认打开。 执行“service iptables stop“来停止Linux netfilter防火墙。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章