Jmeter 远程测试

远程测试
好处:
  对于本地节约测试Samples
  从一个机器管理多个JMeterEngines
  不需要为每个server复制Test plan
 注意:相同的Test plan 运行在所有的servers,Jmeter 不会在servers 之间分布,每一个server都会执行所以的test plan
 
然而,远程模式确实需要更多的资源独立来执行相同数量的non-GUI tests.如果测试被许多server使用,那么JMeter Client 可能会超载。
0.配置节点
确保所有的节点(包括Client和servers)
   运行相同版本的JMeter
   所有的系统使用相同版本的Java
   有一个有效的SSL,或者是不使用SSL
如果测试使用任何数据文件,注意这些文件不能通过Client 发送到server,所以要确保这些文件在每台server 上合适的目录中。

1.启动servers
为了在远程节点上运行JMeter,启动JMETER_HOME/bin/jmeter-server (unix) 或者 JMETER_HOME/bin/jmeter-server.bat (windows)

注意每一个节点上只能有一个JMeter server,除非多个JMeter server使用不同的远程调用端口号。
自从JMeter2.3.1 JMeterserver应用自己启动RMI,所以不需要分开执行RMI registry.如果想要恢复以前的行为,可以在每一个server host system 中定义JMeter property:
    server.rmi.create=false
    
默认的,RMI 使用动态的端口号,这可能会存在防火墙的问题,所以可以通过定义JMeter property :server.rmi.localport 来控制端口号。

2.添加server IP 在你的client's 属性文件中
在In JMETER_HOME/bin/jmeter.properties 找到属性名称为:remote_hosts 来添加运行JMeter server 的IP 地址。添加多个server以逗号分隔。

如果定义了JMeter 属性server.exitaftertest=true ,那么server就会在运行完一个Test 后退出。

3.通过一个GUI Client 来检查配置

对于Windows ,用bin/jmeter.bat 启动Client,对于UNIX,用bin/jmeter 来启动,这时将会注意到 Run 菜单中包括两个新的子菜单:"Remote Start" and "Remote Stop" ,使用这两个代替正常的start 和stop 菜单。

 

Jmeter 远程测试_第1张图片

 

设置SSL:

从JMeter 4.0 开始RMI默认使用SSL,SSL 需要keys 和认证工作,你得自己来创建keys.最简单的设置是对于你想要连接的servers 和Client使用一个key/cert 。JMeter使用一个脚本来生成一个keystore,这个包括一个名称为rmi 的key.这个脚本在bin 目录下,Windows 系统下是bin/create-rmi-keystore.bat,Unix 系统下是bin/create-rmi-keystore.sh,将会生成一个key-pair 这个7天有效。

手动设置SSL

有些情况,jmeter-server 脚本对于你来说不工作,如果你使用OS 平台,JMeter 开发人员未预料到的,下面是如何手动启动JMeter server:

1a:启动RMI Registry

从JMeter2.3.1 ,RMI Registry 是被JMeter server 启动的,所以这部分不会发生在普通情况下。为了恢复到一起的行为,定义JMeter 属性server.rmi.create=false 在server host systems 和下面的说明。

JMeter 使用了Remote Method Invocation(RMI)作为远程通讯协议。因此,你需要运行命名为rmiregistry的RMI Registry 应用,这个在bin 目录下。在运行rmiregistry 之前,保证以下jar 在系统路径中:

  • JMETER_HOME/lib/ext/ApacheJMeter_core.jar
  • JMETER_HOME/lib/jorphan.jar
  • JMETER_HOME/lib/logkit-2.0.jar

rmiregistry应用需要访问特定的JMeter classes.运行无参数rmiregistry ,默认的应用监听端口为:1099.

1b:启动JMeter server

你可能感兴趣的:(Jmeter)