JMeter远程测试,每个实际测试人员都要学习的

详解JMeter远程测试(1)

  如果运行JMeter客户端的机器性能不能满足测试需要,那么测试人员可以通过单个JMeter GUI客户端来控制多个远程JMeter服务器,以便对服务器进行压力测试,模拟足够多的并发用户。通过远程运行JMeter,测试人员可以跨越多台低端计算机复制测试,这样就可以模拟一个比较大的服务器压力。一个JMeter GUI客户端实例,理论上可以控制任意多的远程JMeter实例,并通过它们收集测试数据,如图11-3所示。这样一来,就有了如下特性:

  保存测试采样数据到本地机器。

  通过单台机器管理多个JMeter执行引擎。

  没有必要将测试计划复制到每一台机器,JMeter GUI客户端会将它发往每一台JMeter服务器。

  每一台JMeter远程服务器都执行相同的测试计划。JMeter不会在执行机间做负载均衡,每一台服务器都会完整地运行测试计划。

  在1.4GHz~3GHz的CPU、1GB内存的JMeter客户端上,可以处理线程100~300。但是Web Service例外。XML处理是CPU运算密集的,会迅速消耗掉所有的CPU。一般来说,以XML技术为核心的应用系统,其性能将是普通Web应用的10%~25%。另外,如果所有负载由一台机器产生,网卡和交换机端口都可能产生瓶颈,所以一个JMeter客户端线程数不应超过100。

  采用JMeter远程模式并不会比独立运行相同数目的非GUI测试更耗费资源。但是,如果使用大量的JMeter远程服务器,可能会导致客户端过载,或者网络连接发生拥塞。

  请注意,假如测试人员将JMeter执行引擎安装在应用服务器(测试目标)上,那么这显然会加重应用服务器的负担,测试结果也将变得不可信。作者推荐的方式是将JMeter远程服务器放在应用服务器(测试目标)所在的同一个网段内。这样做既可以减少JMeter收集测试结果对网络产生的冲击,又可以避免对应用服务器(测试目标)性能产生影响。

  

图11-3 JMeter远程测试原理图

 下面是启动JMeter远程测试的基本步骤:

  步骤1:配置节点

  确保所有节点(JMeter客户端和JMeter远程服务器)运行相同版本的JMeter。尽可能在所有操作系统上使用相同的Java版本。

  如果测试用到了外部数据文件,那么请注意这些文件不会被JMeter客户端分发,因此测试人员需要确保每台执行机上都保存了这些数据文件(其所在目录也必须正确)。如果有必要,用户可以为每台执行机设置不同的属性变量,即在JMeter远程服务器上编辑user.properties或者system.properties文件。这些属性将会在JMeter远程服务器启动时被识别,并有可能被应用到测试计划之中,从而影响测试执行(例如,与其他远程服务器发生交互)。另外,不同的JMeter远程服务器可能会使用不同内容的数据文件(例如,每台服务器必须使用不同的ID,就以此来划分数据文件)。

  步骤2:启动远程服务器

  要启动JMeter远程节点,请在执行机上运行JMETER_HOME/bin/jmeter-server (UNIX)或者JMETER_HOME/bin/jmeter-server.bat(Windows)脚本。

  请注意,每个远程节点上只能运行一个JMeter远程服务器脚本,除非采用不同的RMI端口。从JMeter 2.3.1开始,JMeter远程服务器会自己启动RMI注册;用户没有必要单独启动RMI注册。假设测试人员一定要单独启动RMI注册,可以在远程节点上定义JMeter属性server.rmi.create=false。

  默认情况下,JMeter远程服务器的RMI使用动态端口号。这样就会为防火墙配置带来麻烦,因此JMeter 2.3.2及其以后的版本,会检查JMeter属性server.rmi.localport。如果该值非零,JMeter远程服务器就会用它来作为本地端口号。

  步骤3:将JMeter远程服务器的IP地址添加到客户端属性文件中

  编辑JMeter控制机的属性文件。在/bin/jmeter.properties文件中找到属性"remote_hosts",使用JMeter远程服务器的IP地址作为其属性值。可以添加多个服务器的IP地址,以逗号作为分隔。

  请注意测试人员还可以使用-R命令行选项来指明将会使用的远程服务器。这与使用-r 和-Jremote_hosts={服务器列表}的效果相同。例如jmeter -Rhost1,127.0.0.1,host2。

  如果测试人员定义JMeter属性server.exitaftertest=true,那么远程服务器在运行完单个测试后就会退出。-Z标志也有同样的效果,参见后面的内容。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-30 21:25:04

JMeter远程测试,每个实际测试人员都要学习的的相关文章

JMeter远程测试,每个实际测试人员都要学习的(3)

同时创建一个规则(Qolicy)文件,添加computer_name行到/etc/hosts. 3.如何使用不同端口号 默认情况下,JMeter使用标准RMI端口号1099(这是可以改变的).要想成功改变使用的端口号,需满足如下条件: 在远程服务器,启动Rmiregistry使用新端口号. 在远程服务器,启动JMeter并预先定义server_port属性. 在客户端,更新remote_hosts属性,在其中包含remote host:port设置. 从JMeter 2.1.1版本开始,jmet

使用 JMeter 完成常用的压力测试

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为"中国PE第一股",市值超1000亿元.  ------------------------------------------------------------------------------

Jmeter:图形界面压力测试工具

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为"中国PE第一股",市值超1000亿元.  ------------------------------------------------------------------------------

jmeter 退出线程-jmeter长时间无法关闭测试线程

问题描述 jmeter长时间无法关闭测试线程 jmeter启动运行脚本后,点击stop按钮,弹框提示正在推出测试线程.(长时间未退出) 解决方案 是不是写的脚本有问题.要多分析一下啊

Jmeter教程 简单的压力测试

原文:Jmeter教程 简单的压力测试 Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好.   阅读目录   什么是压力测试  顾名思义:压力测试,就是  被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况) 比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站是否会奔溃   做压力测试的常用工具 做压力测试,一般要使用工具, 人工是没办

《移动网页设计与开发 HTML5+CSS3+JavaScript》—— 1.7 测试,再测试,进行更多的测试

1.7 测试,再测试,进行更多的测试 对于目前网络设备的现状,测试是确保所创建网站是否能跨多个设备运行的唯一方法.测试一直贯穿着整个项目,从开始到结束,都要抓住任何机会进行测试.如果规划的是一个多设备项目,那么,在整个项目中,多达40%至50%的时间将会用来测试.这是个很严肃的问题. 如果找不到实际设备的代替品来做测试,则可以着手建立一个库,并放入尽可能多的设备.如果单位附近有其他机构,还可以考虑集中资源,以获得范围更广的设备.许多城市都在组建设备实验室,其中有各种设备可供任何人使用,这些设备均

企业Web应用中的敏捷测试和瀑布测试

简介 同是企业WEB应用程序项目,一个用敏捷,一个用瀑布流程,它们的测试策略会有何不同?在二者中,测试的关注点都在于告诉业务客户这个应用程序做了哪些事情,同样也要消除应用程序作为产品交付以后的失败风险.它们的主要区别不是测试本身,而是何时执行测试.由谁执行测试.测试的每个阶段都可以在系统就绪后随时开始,无须等待前一个测试阶段完成. 从未涉足敏捷项目,或是刚启动某个敏捷项目并在寻找指导建议的读者都可以看看这篇文章,它正是为你们而写.文中的信息虽并非笔者新创,但也是收集整理的结果,希望这些信息能帮助

网站设计用户测试:只需测试5个用户

文章描述:为什么网站项目只需测试5个用户. 人们总是认为,用户测试是一个复杂且代价昂贵的事情.一个网站设计项目需要一个庞大的预算和长长的时间表.其实,可用性测试并非如大多数人认为的是浪费资源的事情.在你可承受的测试成本范围内,使用不超过5个用户,即可达到很好的测试效果. 最初的研究过程中,Tom Landauer 和我得出了一个 可用性测试方面的,关于测试人员的数量的公式: 假设一个可用性测试的测试人员数量为n,N为所有可用性测试发现的问题总数,L是单个测试人员的问题发现率. N(1-(1-L)

每位开发人员都应铭记的10句编程谚语

所谓谚语,就是用言简意赅.通俗易懂的方式传达人生箴言和普遍真理的话,它们能很好地帮助你处理生活和工作上的事情.也正因如此,我才整理了10句编程谚语,每位开发人员都应该铭记他们,武装自己. 1. 无风不起浪 别紧张,这也许只是一场消防演习 代码设计是否糟糕,从某些地方就可以看出来.比如: a. 超大类或超大函数 b. 大片被注释的代码 c. 逻辑重复 d. If/else嵌套过深 程序员们通常称它们作代码异味(Code Smell),但是就我个人认为"代码警报"这个名字更为合适一些,因为