浅谈jmeter远程模式的运用

发表于:2018-6-21 14:16

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:软件测试网    来源:本站原创

  引言:现在随着软件测试行业的不断发展,很多测试工具已经满足不了需求了,这就需要其他测试工具来进行测试,下面介绍一个工具JMeter
  如果您的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),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号