背景:
        由于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. linux下递归删除目录下所有exe文件---从删库到跑路篇

    linux下递归删除目录下所有exe文件 find . -name '*.exe' -type f -print -exec rm -rf {} \; (1) "." 表示从当前目 ...

  2. 白天不懂夜的黑追寻Android规范

    有趣有内涵的文章第一时间送达! 喝酒I创作I分享 关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 本篇文章同步微信公众号 欢迎大家关注我的微信公众号:「醉翁猫咪」 生活中总有些东 ...

  3. GitHub如何删除一个代码仓库

    进入GitHub之后,点击“your repositories”查看所有的代码仓库. 在代码仓库中选择一个需要删除的,进入其详情页 在详情页中找到“setting”设置,下拉至最后可以看到删除选项. ...

  4. python 操作redis,存取为字节格式,避免转码加

    这种情况连接数据库,对数据的存取都是字节类型,存取时还得转码一下 from redis import Redis # 实例化redis对象 rdb = Redis(host='localhost', ...

  5. #C++初学记录(set进阶#acm cf 190802 B. Subsegments)

    B. Subsegments#set进阶 Programmer Sasha has recently begun to study data structures. His coach Stas to ...

  6. Spark(五十三):Spark RPC初尝试使用

    基本用法主要掌握一点就行: master slave模式运用:driver 就是master,executor就是slave. 如果executor要想和driver交互必须拿到driver的Endp ...

  7. HTTP、MQTT、Websocket、WebService区别

    相同点: HTTP.MQTT.Websocket均为OSI 7层模型的[应用层协议]注意. WebService并非通信协议,而是一种远程接口调用(RPC)的框架技术. 不同点: MQTT MQTT协 ...

  8. 转载:Base64编解码介绍

    https://www.liaoxuefeng.com/wiki/897692888725344/949441536192576 Base64是一种用64个字符来表示任意二进制数据的方法. 用记事本打 ...

  9. nodejs爬虫如何设置动态ip以及userAgent

    nodejs爬虫如何设置动态ip以及userAgent 转https://blog.csdn.net/u014374031/article/details/78833765 前言 在写nodejs爬虫 ...

  10. array_slice

    array_slice  分割数组, 效果相当于 substr 类似字符串操作