背景:
        由于Jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误。要解决这个问题,可以使用分布式实测,运行多台机器运行所谓的Agent来分担Jmeter自身的压力,并借此来获取更大的并发用户数,但是需要进行相关的修改,具体如下。
 
操作步骤
        1、安装Jmeter,并确定期中一台机器作为Controller, 其他的机器作为Agent。 然后运行所有Agent机器上的Jmeter-server.bat文件---假定我们使用两台机器 IP   192.168.0.11 和 192.168.0.12 作为 Agent;(Agent机器上必须安装jdk, 并设置环境变量)
        2、在Contorller机器的  %JMeter_home%/bin下, 编辑Jmeter.properties 中 "remote_hosts=127.0.0.1" . 其中的127.0.0.1表示运行jmeter Agent 的机器,这里需要修改为"remote_hosts=192.168.0.11:1099, 192.168.0.12:1099"   ---其中1099 为端口号。

        3、启动 controller 机器上的jmeter.bat , 选择菜单Run中 "Remote Start" 中的  192.168.0.11:10099, 192.168.0.12:10099

来运行Agent。

        4、如果要让某个电脑执行,可以点击该电脑的IP地址就可以, 如果两个都要执行,可以点击Run菜单下的"远程运行全部"  菜单

        5、有时候用作代理的机器太少,扔不能满足需求,则需要将作为Contorller的电脑也当做Agent,则同样需要修改Jmeter.properties文件,将Contorller的IP 地址写入。 同时, 这个时候,需要先打开Contorller电脑中Jmeter下bin目录下的jmeter-server.bat, 然后在打开jmeter.bat, 此时, 进入 Run --remote start菜单, 可以看到Contorller也作为远程机器进行运行。
 
常见问题:
        1、 确定在Contorller  机器上安装jdk版本 和jmeter一致
        2、Agent机器启动 jmeter-server.bat 时, 后台提示:"could not find ApacheJmeter_core.jar"
                解决办法:这个是开始没有找到 ApacheJmeter_core.jar,  如果不希望看到could not find的字样,需要添加环境变量 HMETER_HOME,  路径为bin目录的上一级目录,这样启动jmeter-server服务时, 就不会看到could not find ApacheJmeter_core.jar。
        3、Jmeter分布式控制过程中, 各个Agent启动的线程数等于线程组中的配置。
 
 
 
 
 

jmeter_分布式测试的更多相关文章

  1. 关于Jmeter分布式测试在公司内的使用

    首先非常感谢虫师的文章受益匪浅 http://www.cnblogs.com/fnng/category/345478.html 今天,花了半天时间进行分布式的测试,真是纠结啊!! RT 1.在公司用 ...

  2. JMeter学习-022-JMeter 分布式测试(性能测试大并发、远程启动解决方案)

    在使用 JMeter 进行性能测试时,难免遇到要求并发请求数比较的场景,此时单台测试机的配置(CPU.内存.带宽等)可能无法支持此性能测试场景.因而,此时 JMeter 提供的分布式测试功能就有了用武 ...

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

    最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈, ...

  4. jenkin系列_调度jmeter实现分布式测试

    假设现在有 192.168.1.100(jmeter 控制器 C ).192.168.1.101(jmeter负载机 B)两台机器进行分布式测试,各个步骤如下 1. C 和B 安装jmeter,并运行 ...

  5. selenium之多线程启动grid分布式测试框架封装(四)

    九.工具类,启动所有远程服务的浏览器 在utils包中创建java类:LaunchAllRemoteBrowsers package com.lingfeng.utils; import java.n ...

  6. selenium之多线程启动grid分布式测试框架封装(一)

    一.设计思路 在国内市场上,IE内核的浏览器占据了绝大部分的市场份额,那么此次框架封装将进行IE系列的浏览器进行多线程并发执行分布式测试的封装. 运行时主进程与多线程关系如下:

  7. jmeter命令行运行-分布式测试

    上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对j ...

  8. 转:Jmeter以non-gui模式进行分布式测试

    由于Jmeter是一个纯JAVA的应用,用GUI模式运行压力测试时,对客户端的资源消耗是相当惊人的,所以在进行正式的压测时一定要使用non-gui模式运行,如果并发数很高或者客户端的硬件资源比较一般的 ...

  9. selenium结合docker构建分布式测试环境

    selenium是目前web和app自动化测试的主要框架.对于web自动化测试而言,由于selenium2.0以后socker服务器由本地浏览器自己启动且直接通过浏览器原生API操作页面,故越来越多的 ...

随机推荐

  1. kubernetes监控终极方案-kube-promethues

    kube-promethues简介 前面我们学习了Heapster+cAdvisor方式监控,这是Prometheus Operator出现之前的k8s监控方案.后来出现了Prometheus Ope ...

  2. 第06组 Alpha冲刺(1/4)

    队名:福大帮 组长博客链接:https://www.cnblogs.com/mhq-mhq/p/11863075.html 作业博客 :https://edu.cnblogs.com/campus/f ...

  3. pgsql 聚合函数array_to_string,ARRAY_AGG

    array_to_string--将sql中的数组转为字符串 ARRAY_AGG--将sql中的数据转为数组处理 以下给大家一个简单的例子即可体会: 1.需求     2.数据库中原数据   1.pn ...

  4. dubbo、zookeeper心跳相关参数解析与测试

    dubbo consumer和provider的心跳机制 dubbo客户端和dubbo服务端之间存在心跳,目的是维持provider和consumer之间的长连接.由dubbo客户端主动发起,可参见d ...

  5. EOS require_auth函数

    action的结构 要说清楚这个方法的含义和用法,咱们需要从action的结构说起.详见eoslib.hpp中的action类,这里把它的结构简化表示成下面这样: * struct action { ...

  6. boost中g++ 链接undefined reference to `boost::system::generic_category()问题

    编译错误如下: g++ -std=c++11  tcp_session.cpp tcp_server.cpp test.cpp -o test -pthread/tmp/ccv4rZkD.o: In ...

  7. Qt开发经验小技巧21-30

    如果出现Z-order assignment: is not a valid widget.错误提示,用记事本打开对应的ui文件,找到为空的地方,删除即可. 善于利用QComboBox的addItem ...

  8. (二)limit的高级用法

    一.取出前n条数据 ; 二.取出第几行到第几行的数据 ,; 解释:取出从第3行(从0行开始)开始的5条记录.

  9. [LeetCode] 288.Unique Word Abbreviation 独特的单词缩写

    An abbreviation of a word follows the form <first letter><number><last letter>. Be ...

  10. [LeetCode] 803. Bricks Falling When Hit 打击砖块掉落

    We have a grid of 1s and 0s; the 1s in a cell represent bricks.  A brick will not drop if and only i ...