Jmeter运行时十分耗CPU和内存,在实际应用中有时一台机器不能满足测试要求,这时就需要利用多台机器来进行分布式。
 
Jmeter分布式的测试框架:框架中所有的测试脚本都要从测试主机传送到测试从机,而测试结果又要从测试从机传送回测试主机。
测试主机收集所有从机的测试结果并显示出来,如果虚拟用户的数量大的话,这个过程需要传输的数据很多,对测试主机有很高的求。
(图片转自博客http://blog.chinaunix.net/uid-26884465-id-3419474.html)
 
在进行分布式前需要确认的问题:
1.所有主从机器都在同一个子网内,能够访问
2.所有防火墙都关闭了
3.所有机器上的Jmeter都是同一个版本的,JDK是同一个版本的。
 
上面的确认没有问题了,就可以进行分布式测试了。分布式采用master-slave,即一台机器做主机controller,其他机器做从机agent。
假设用192.168.201.246做主机,192.168.201.247和192.168.201.248做从机
 
1.主从机器上都安装Jmeter和JDK。配置好Jmeter和JDK的环境变量
如果从机的JAVA环境变量没有配置,需要编辑jmeter-server.bat文件,编辑REM START rmiregistry %SERVER_PORT%,将其改为
REM START %JAVA_HOME%/jre7/bin/rmiregistry %SERVER_PORT%
 
2.在主机下配置jmeter.properties的remote_hosts
编辑jmeter.properties文件,将remote_hosts=127.0.0.1
修改为:
remote_hosts=192.168.201.247:1099,192.168.201.248:1099
(如果想要将主机也做为从机去运行脚本,只需要在remote_hosts=后增加127.0.0.1:1099即可)
 
注意:端口号1099是做为jmeter的controller和agent之间进行通信的默认RMI端口号。
确定端口是否被占用的命令:
netstat -ano|findstr "1099"
tasklist|findstr "1099"
 
3.在所有从机上放一份参数化的文件,否则分布式不会成功
 
4.启动所有从机的jmeter-server.bat(如果主机也作为分布式slave,也需要启动主机上的jmeter-server.bat)
注意:这步一定要做,否则远程启动的时候会报错
 
5.在主机上打开jmeter.bat,打开已经调试好的测试脚本,选择远程启动即可成功。
远程启动分为两种:
1.可以单独启动某一台从机,通过运行->远程启动->XXX
2.全部启动,运行->远程全部启动。菜单上也有远程全部启动的按钮
 
 
推荐博客:http://www.cnblogs.com/yangxia-test/p/4016277.html     

Jmeter分布式的更多相关文章

  1. jmeter分布式操作-远程启动功能探索

    一.背景: 之前在Jmeter插件监控服务器性能一篇中说到,在非GUI环境中监控时为了保存监控数据需要修改jmeter脚本,并且每次通过施压机(远程服务器,非GUI环境)来压测时都要将jmeter脚本 ...

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

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

  3. jmeter分布式测试远程连接失败

    jmeter分布式部署其实很简单.但今天测试的时候发现了一个坑,远程连接一直失败. 原因:服务器上部署了slave,而这台服务器上有多个网卡.举个例子:ip分别为:192.168.100.6,10.1 ...

  4. Jmeter分布式部署

    当单机没有足够能力来模拟较重的负载,可以使用jmeter分布式测试功能, 通过一个Jmeter控制台来远程控制多个Jmeter引擎完成测试. 每个线程均独立运行测试计划.因此,线程组常用来模拟并发用户 ...

  5. jmeter分布式测试教程和远程的代理机无法连接网络的问题解决方法

    一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent). 2.执行时,Controller会把脚本发送到每台A ...

  6. jmeter 分布式压测(windows)

    单台压测机通常会遇到客户端瓶颈,受制于客户机的性能.可能由于网络带宽,CPU,内存的限制不能给到服务器足够的压力,这个时候你就需要用到分布式方案来解决客户机的瓶颈,压测的结果也会更加接近于真实情况. ...

  7. 转:Jmeter分布式测试

    在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...

  8. Jmeter分布式部署测试-----远程连接多台电脑做压力性能测试

    在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需要模拟数以万计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起J ...

  9. Windows和Linux的Jmeter分布式集群压力测试

    Windows的Jmeter分布式集群压力测试 原文:https://blog.csdn.net/cyjs1988/article/details/80267475 在使用Jmeter进行性能测试时, ...

  10. Jmeter分布式及在Linux上执行jmeter脚本

    Jmeter分布式 主控机即自己的电脑,控制并发数 压力机即别人的机器,和主控机一起添加压力 1.其他的压力机需要启动Jmeter-server.bat 启动成功页面 2.主控机的Jmeter 的bi ...

随机推荐

  1. ghost系统下,C#获取时间带星期几的解决办法

    cmd   regedit打开注册表,进入到[HKEY_USERS\.DEFAULT\Control Panel\International]  ,然后1.将键 sDate 的值由 / 改为 - 2. ...

  2. GC之五--SystemGC完全解读

    目录: GC之一--GC 的算法分析.垃圾收集器.内存分配策略介绍 GC之二--GC日志分析(jdk1.8)整理中 GC之三--GC 触发Full GC执行的情况及应对策略 gc之四--Minor G ...

  3. Vmware 安装CentOS 6.5

    转自:http://www.centoscn.com/image-text/install/2014/1209/4281.html 其实通过VM安装虚拟机还是蛮简单的,只不过有个别选项可能导致大家安装 ...

  4. 运行quectel EC20 module example data

    environment setting are as below: 1. ubuntu 14.04, linux kernel 4.4,OpenLinux(QuecLinux) 2. module: ...

  5. Asynchronous programming with Tornado

    Asynchronous programming can be tricky for beginners, therefore I think it’s useful to iron some bas ...

  6. C# 控制台程序(Console Application )启动后隐藏

    背景 前段时间给项目编写了数据适配器,读取其他系统的数据后推送到MQ上,我们的系统通过订阅MQ的方式来获取.由于其他系统支持C#编程,且为了一时方便,选择了C#的控制台程序. 最近用户在使用中,总是不 ...

  7. tcp协议和udp协议的使用场景

      一:什么是TCP(Transmission Control Protocol,传输控制协议) tcp是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接.一个TCP连接必须要经过三次 ...

  8. lb集群lvs的3种模式

    Cluster原理 集群的总类: 1.负载均衡集群(LB:Load Banlancing):实现将一个访问量或者任务量特别大的应用,给他 平均分配到不同的服务器上面,以提供高容量.大并发. 2.高可用 ...

  9. ngnix配置thinkphp5隐藏index.php的方法亲测有效

    在需要访问的域名的conf文件中,比如 vim /etc/nginx/.com.conf location / { // …..省略部分代码 if (!-e $request_filename) { ...

  10. HTML5 Canvas ( 线段的绘制 ) beginPath, moveTo, strokeStyle, stroke

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...