如果您的JMeter客户端计算机无法使用性能方面,要模拟足够的用户来增强压力或受限于网络级别,则可以选择从单个JMeter客户端控制多个远程JMeter引擎。通过远程运行JMeter,您可以跨许多低端计算机复制测试,从而模拟服务器上的较大负载。JMeter客户端的一个实例可以控制任意数量的远程JMeter实例,并从中收集所有数据。这提供以下功能:
1.将测试samples保存到本地机器
2.从单个机器管理多个JMeterEngines
3.无需将测试计划复制到每个服务器-客户端将其发送到所有服务器
然而,远程模式确实使用更多的资源,而不是独立运行相同数量的非GUI测试。如果使用许多服务器实例,客户端JMeter可能会变得过载,客户端网络连接也会如此。这通过切换到“Strippedmodes”模式得到了改进,但是您应该始终检查您的客户端是否没有超载。
请注意,虽然您可以在应用程序服务器上执行JMeterEngine,但您需要注意的是,这将在应用程序服务器上添加处理开销,因此您的测试结果将会受到某种程度的污染。建议的方法是将一台或多台计算机与您配置为运行JMeterEngine的应用程序服务器位于同一个以太网段上。这将最大限度地减少网络对测试结果的影响,而不会影响应用服务器本身的性能。
步骤0:配置节点
确保所有节点(客户端和服务器):
1.正在运行完全相同版本的JMeter。
2.在所有系统上都使用相同版本的Java。使用不同版本的Java可能会工作,但不鼓励。
如果测试使用任何数据文件,请注意,这些文件不会由客户端发送,因此请确保这些文件在每个服务器上的相应目录中可用。如果需要,您可以通过编辑每个服务器上的user.properties或system.properties文件来为属性定义不同的值。这些属性将在服务器启动时被提取,并且可能在测试计划中用于影响其行为(例如连接到其他远程服务器)。或者在测试使用的任何数据文件中使用不同的内容(例如,如果每个服务器必须使用唯一的ids,在数据文件之间划分这些内容)
步骤1:启动服务器
要在远程节点中运行JMeter,请通过运行JMETER_HOME/bin/jmeter-server(unix)或JMETER_HOME/bin/jmeter-server.bat(windows)脚本在要运行的所有计算机上启动JMeter服务器组件。
请注意,除非使用不同的RMI端口,否则每个节点上只能有一个JMeter服务器。
自JMeter2.3.1起,JMeter服务器应用程序启动RMI注册本身;没有必要单独启动RMI注册。要还原到以前的行为,请定义JMeter属性
server.rmi.create=FALSE
在服务器主机系统上。
默认情况下,RMI为JMeter服务器引擎使用动态端口。这可能会导致防火墙出现问题,因此您可以定义JMeter属性server.rmi.localport来控制此端口号。如果这不是零,它将被用作服务器引擎的本地端口号。
步骤2:将服务器IP添加到客户端的属性文件
编辑控制JMeter机器上的属性文件。在JMETER_HOME/bin/jmeter.properties中,找到名为“remote_hosts”的属性,并添加运行JMeter服务器IP地址的值。可以添加多个这样的服务器,以逗号分隔。
请注意,您可以使用-R命令行选项来指定要使用的远程主机。这与使用-r和-Jremote_hosts={serverlist}的效果相同。例如
如果定义JMeter属性server.exitaftertest=true,那么在运行单个测试后,服务器将退出。另见-X标志(如下所述)
步骤3a:从GUI客户端启动JMeter客户端以检查配置
现在您可以开始控制JMeter客户端了。对于MS-Windows,使用脚本“bin/jmeter.bat”启动客户端。对于UNIX,请使用脚本“bin/jmeter”。您将注意到,“运行”菜单包含两个新的子菜单:“远程启动”和“远程停止”(见图1)。这些菜单包含您在属性文件中设置的客户端。使用远程启动和停止代替JMeter正常启动和停止菜单项。
图1-运行菜单
步骤3b:从非GUI客户端启动JMeter
GUI模式只能用于调试,作为一个更好的选择,您应该从非GUI(命令行)客户机启动远程服务器上的测试。这样做的命令是:
要么
可能有用的其他标志:
-Gproperty=值
在所有服务器中定义一个属性(可能会出现多次)
-X
在测试结束时退出远程服务器。
第一个例子将开始测试JMeter属性remote_hosts中定义的任何服务器;
第二个例子将从服务器列表中定义remote_hosts,然后在远程服务器上启动测试。
当所有远程服务器停止时,命令行客户端将退出。
以上内容就是JMeter测试方面的内容,如果大家对此感兴趣可以去深入了解,但是这里给大家安利一个证书ISTQB,里面有包含JMeter测试的内容
ISTQB作为全球最大的软件测试认证机构,是全球110多个国家和地区软件测试专家的智慧结晶。通过ISTQB认证的软件测试人员可运用认证体系中的知识来提高工作效率,提高软件产品的可靠性,优化测试活动的成本,为客户提供高质量服务,增加企业产值和提升品牌价值。ISTQB分会覆盖全球110多个国家和地区,认证体系采用全球统一标准规范和术语大纲,在成员国内通用,使企业获取国际竞争优势,增强企业测试实力,也让自己的职业生涯多一个保障!强有力的ISTQB证书会给我们的测试领域职场之路锦上添花,在学习专业课程的基础上还能获得一个含金量高的证书,何乐而不为?
免费获取ISTQB证书历年大纲及试听名额>>>
ISTQB证书更多优势>>
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。