• 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

  • 相关阅读:
    解决Python开发中,Pycharm中无法使用中文输入法问题
    PointNet++作者的视频讲解文字版
    StringBuilder
    DropDownList 添加“请选择”
    SQLServer 2008中SQL增强之三 Merge(在一条语句中使用
    ASP.NET Web Forms 的 DI 應用範例
    怎么设置环境变量
    ParameterizedThreadStart,ThreadStart的使用,线程Thread传参数
    异步删除
    SqlCommandBuilder的作用
  • 原文地址:https://www.cnblogs.com/hle030609/p/9618024.html
Copyright © 2020-2023  润新知