Jmeter--联机负载

为什么要做联机负载?     

       Jmeter本身的性能决定了在使用jmeter进行性能测试的过程中,单台机器能够模拟的虚拟用户数不会太多(1000用户)。如果要进行大量用户的负载测试,则需要进行联机负载(分布式负载)。 

基础概念:

       1.主控制机:存放JMeter脚本的机器叫做主控制机
       2.负载机:被连接并用来运行脚本的机器叫做负载机

前提条件:
      ·保证在控制机和负载机上都能够运行Jmeter。(jmeter和jdk版本需一致)
      ·要保证控制机和负载机、负载机和被测服务器之间的网络能够通信。(同一个局域网内)

操作步骤:

      1)在控制机上,找到jmeter所在目录中的bin文件夹下的jmeter.properties文件,找到对应的属性为:remote_hosts

            示例:

            # Remote Hosts - comma delimited

    remote_hosts=127.0.0.1
            #remote_hosts=localhost:1099,localhost:2010
            remote_hosts=192.168.100.41:8000,192.168.100.200:1099          

      表示添加了两台负载机:
      一台是:192.168.100.41:8000,
      一台是:192.168.100.200:1099

     2)在负载机上启动Jmeter-server.bat(windows)/Jmeter-server(linux),或者通过命令Jmeter -s来启动。    

   PS:Jmeter-server的默认服务端口是1099,如果在负载机上该端口被占用,则我们可以通过修改负载机上的Jmeter的配置文件jmeter.properties中的属性server_port来指定服务端口。
    示例:
    # RMI port to be used by the server (must start rmiregistry with same port)
    server_port=8000

    将Jmeter-server的服务端口改为了8000.
    PS:改完之后重启才会生效

    3)重启控制机上的Jmeter

    4)控制机上,打开需要运行的脚本,设置好线程组属性,就可以通过远程启动or远程全部启动的方式来运行脚本

         ·远程启动:选中一台负载机来运行脚本。

   ·远程全部启动:所有负载机都同时运行脚本。

 

注意事项:
  ·联机负载时,要保证控制机和负载机的Jmeter的版本、JAVA环境的一致性。
  ·联机负载时,脚本的运行环境是负载机的环境。
  一般就要保证控制机和负载机的环境的一致性。
  对于脚本中用到的第三方文件,包括jar包和参数文件等。
  1)对于jar包,只需要保证第三方jar包同时在控制机和负载机的jmeter的lib目录下存在即可。
  2)对于第三方文件,比如参数文件,也要求在控制机和负载机都有。
  如果是使用的绝对路径,则要保证第三方文件在控制机和负载机的绝对路径的一致。
  如果使用相对路径,则要注意在控制机和负载机上的当前路径的区别:
  在控制机(本地)上时,当前路径是脚本所在文件夹。
  在负载机(远程)上时,当前路径是Jmeter的bin目录。

  ·联机负载时,远程全部启动时,当前的测试计划是分别、独立、同步在每一台负载机上执行的。这就意味着此时对服务器造成的实际压力(RL)和测试计划所设置的压力(DL)是不一样的,是和负载机的数量(N)有关的。RL=DL*N

posted on 2018-09-10 11:14  Congcong那些年  阅读(1777)  评论(0编辑  收藏  举报