Jmeter分布式运行

Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误。为了让jmeter工具提供更大的负载能力,jmeter短小精悍一有了使用多台机器同时产生负载的机制。

那么,是如何实现多台负载机同时运行的呢?我们通过单个jmeter 客户端就可以控制多个远程的jmeter服务器,使它们同步的对服务器进行压力测试。

通过远程运行jmeter,测试人员可以跨越多台低端计算机复制测试,这样就可以模拟一个比较大的服务器压力,一个jmeter客户端实例,理论上可以控制任意多的远程jmeter实例,并通过他们收集测试数据。

利用4台linux测试机部署jmeter:

1.安装jdk,运行jmeter一定要安装1.6以上版本的jdk并正确配置环境变量;

2.将Jmeter打包后放在指定的目录,所有期望运行jmeter的机器都要安装;

3.定义A服务器:控制机Controller,B、C、D服务器为负载机Agent;

4.首先在bin目录下 启动B、C、D服务器 jmeter的jmeter-server服务器,jmeter-server正常启动会提示"创建远程服务";

5.准备测试脚本,可以在windows环境下先创建jmx文件,主意最好不要添加监听器,因为命令行启动的话监听器可能会占用资源而且有没有任何视图效果.

6.将生成好的jmx文件上传到A服务器 jmeter目录的bin目录下,然后在bin目录下创建xx.jtl文件.jtl文件用来接收测试中产生的测试结果

7.进bin目录 打入启动命令,也可以用绝对路径来运行启动命令

./jmeter -n -t xx.jmx -R B服务器ip,C服务器ip,D服务器ip -l $jmeterpath/bin/xx.jtl

参数说明 :

-n  告诉jmeter使用nogui模式运行测试

-t  执行的测试脚本名

-R  后面跟随负载机的ip地址 ,注意用逗号隔开

-l  后面跟着测试结果记录的路径与文件名,主意这个文件jmeter不会自己创建,请预先创建好,

8.测试完成后把xx.jtl文件下载到windows机上在不同的监听器上分析测试结果

如果想修改测试脚本,起始也不必把脚本在windows机上打开gui界面修改,直接编辑.jmx文件 你就可以看到许多熟悉的名字,这里就简单介绍几个

</elementProp>

<stringProp name="ThreadGroup.num_threads">5</stringProp>

<stringProp name="ThreadGroup.ramp_time">5</stringProp>

<longProp name="ThreadGroup.start_time">1281132211000</longProp>

<longProp name="ThreadGroup.end_time">1281132211000</longProp>

<boolProp name="ThreadGroup.scheduler">true</boolProp>

<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>

<stringProp name="ThreadGroup.duration">60</stringProp>

<stringProp name="ThreadGroup.delay">5</stringProp>

</ThreadGroup>

ThreadGroup.num_threads 线程数

ThreadGroup.ramp_time   全部线程启动完成的时间

ThreadGroup.duration    测试的持续时间

windows下运行部署jmeter:

windows下部署和linux下大致相同,不同的地方有几点,如下:

1.在controller机器的jmeter的bin目录下,找到jmeter.properties 文件,编辑该文件:

找到 remote_hosts=127.0.0.1 将后面的ip地址写成负载的机器ip,以逗号进行分割,如192.168.0.1:1099,192.168.0.2:1099,其中的 1099 为  JMeter  的 Controller 和 Agent 之间进行通讯的默认 RMI 端口号;

2.启动controller 机子上的jmeter应用jmeter.bat,选择菜单“运行”--->“远程启动”,来分别启动agent ,也可以直接选择“远程全部启动”来将所有的agent启动。

时间: 2024-11-04 00:54:06

Jmeter分布式运行的相关文章

Jmeter分布式

在进行性能测试的时候,随着压力的不断增大,会出现tps的瓶颈. 出现瓶颈,会有两个原因,1.服务器导致的瓶颈 ,2压力不够. 如果是压力不够的情况,要么换更好的机器进行压测,或者多台机器进行分布式压测. Jmeter 如何开展分布式? 原理如下: 1.Jmeter分布式压测时,一台机器作为master,其他的则为slave,master负责请求的分发,slave负责执行. 2.执行时,master会把脚本发送到每台slaver上,slaver 拿到脚本后就开始执行,slaver执行时不需要启动G

Jmeter 分布式测试

Jmeter 是Java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具提供更大的负载能力,jmeter短小精悍一有了使用多台机器同时产生负载的机制. 那么,是如何实现多台负载机同时运行的呢?当然不会多个人坐在多台负载机面前,一喊开始,大家同时启动jmeter.这种方式很笨,也很难达到真正的同步.其实,我们通过单个jmeter 客户端就可以控制多个远程的jmeter服务

Jmeter分布式测试

在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave). 2.执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的. 3.执行完成后,

Jmeter分布式部署

当并发数达到一定值,Jmeter会消耗大量内存和cpu,单机就可能会遇到性能瓶颈,测试结果的准确性会很没有保障.这时,就要考虑分布式压力测试. Jmeter分布式测试时,需要选择其中一台作为调度机(master),其它机器做为执行机(slave),master通过远程启动执行,执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总. 分布式配置 1.执行机配置 1)安装jmeter和jdk,配置java环境变量 2)启动bin目录下的:jmeter-ser

【Fine原创】JMeter分布式测试中踩过的那些坑

最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈,一般线程加到100左右就会出现工具本身无法支撑的问题,广泛了解解决办法后,发现分布式部署测试机仍是首选方案. 关于如何配置jmeter分布式部署测试机很多博客上已经描述得很详细了,这里就不再赘述,可以参考虫师的博客: http://www.cnblogs.com/fnng/archive/2012/

jmeter分布式环境

搭建jmeter分布式环境 (1)确定分布式结构,即1台机器部署master.几台机器部署slave? (2)将相同版本的jmeter分别拷贝到这几台机器 (3)修改master节点的jmeter配置,修改如下两个文件 修改apache-jmeter-3.0/bin/jmeter.properties 文件,在这个文件中增加如下配置: remote_hosts=xx.xx.xx.xx1:1080,xx.xx.xx.xx2:1081,xx.xx.xx.xx3:1082     ------说明:这

jmeter分布式集群测试

Jmeter分布式集群测试 我们在使用Jmeter进行性能测试的时候,如果并发数较大(比如项目需要支持1000个并发),单台电脑的配置(内存.CPU)可能无法支持,这种情况下我们可以使用Jmeter提供的分布式测试的功能.下面就介绍一下分布式原理.配置流程. 1.  分布式原理 Jmeter分布式测试时,选择一台机器作为控制机,其他机器作为执行机.执行时,控制机会把脚本发到执行机上,执行机开始执行,执行完毕后,会把结果回传到控制机. 2.  配置流程 2.1执行机配置 第一步:在执行机上安装Jm

jmeter 分布式集群

Jmeter压测过程中,由于测试机配置有限,CPU.内存都可能是存在瓶颈.如果使用很大的并发进行测试时,就可能会感到程序比较卡,这时候就无法继续增加压力了. 解决方法: 搭建Jmeter分布式集群,远程启动测试. 步骤如下: 1.在分布式集群中,脚本编辑.控制的机器叫做"client",实际运行Jmeter测试脚本,负责向被测服务器发请求的机器,称为"server".网络要求server和client需要网络互通.找几台机器作为 server,然后client和se

【转】Jmeter分布式压力测试

安装 下载地址:http://jmeter.apache.org/download_jmeter.cgi 安装前提(因为jmeter依赖于Java所以必须先配置好java) 下载后解压: tar -xvzf apache-jmeter-3.1.tgz Jmeter参数 [html] view plain copy -h, --help print usage information and exit #打印帮助信息 -v, --version print the version informat