Jmeter性能测试分布式技术
一、什么是分布式测试
分布式测试是指通过局域网和Internet,把分布于不同地点、独立完成特定功能的测试计算机连接起来,以达到测试资源共享、分散操作、集中管理、协同工作、负载均衡、测试过程监控等目的的计算机网络测试
二、执行原理
对分布式测试而言,测试过程是一种对流程控制要求很高的活动,因此系统需要适时地获取全局状态以正确地指导流程;其次,在测试过程中,系统要能够方便地监视和操纵测试过程。因此,分布式测试系统适合采用集中式的分布式策略,即由一台中心计算机控制若干台受控计算机的执行,整个测试过程和资源管理由中心来完成,它掌握整个分布式测试环境的状态,从而发出控制命令
- 选择其中一台作为Master机(调度机),其他机器作为Slave机(执行机)
- 执行时,Master机会把脚本发送到每台Slave机上,Slave机拿到脚本后就开始执行,不需要启动GUI
- 执行完成后,Slave机会把结果回传给Master机,Master机会收集所有Slave机的信息,并汇总

三、分布式配置
前提条件:
- Slave机器的jdk版本需要跟Master机器的jdk版本保持一致
- Slave机器的Jmeter版本以及插件需要跟Master机器保持一致,操作方法是直接将Master的Jmeter安装目录打包后解压到Slave机器上
- Slave机器的网络需要跟Master机器的网络保持在同一个局域网,可以ping通
1.Master机器配置
在Jmeter的%JMETER_HOME%\bin目录下,使用文本编辑工具打开jmeter.properties配置文件,配置以下参数
- remote_hosts=Slave机器IP:端口 多台Slave机器则用英文逗号隔开
- server.rmi.ssl.disable=true
- mode=Standard 开启标准模式(可以看到日志记录)
配置完成后重启Jmeter
2.Slave机器配置
在Jmeter的%JMETER_HOME%\bin目录下,使用文本编辑工具打开jmeter.properties配置文件,配置以下参数
- server_port=1234
- server.rmi.port=1234
- server.rmi.ssl.disable=true 去掉认证
如果是linux机器上,则要给bin目录赋予执行的权限:chmod +x -R bin/,防火墙有些操作系统也需要提前关闭:systemctl stop firewalld.service
四、连接机器
配置完成,检查防火墙也关闭后,在Slave机器的Jmeter的%JMETER_HOME%\bin目录下,输入cmd进入命令行模式

在命令行下开启Jmeter远程服务:jmeter-server.bat -Djava.rmi.server.hostname=本机IP,如果是linux机器,命令为:sh jmeter-server.sh -Djava.rmi.server.hostname=本机IP

我们在Master机器上,打开cmd终端命令行,使用“telnet IP 端口”的命令验证是否接通


如上面显示则表示已经接通,可以开始进行分布式性能测试了
五、执行测试
分布式测试的场景,Master机器上只发送指令并收集测试结果,多台Slave机器执行Master机器发送的指令,并且Master机器上设定的并发用户数在每台Slave机器上执行的并发用户数保持一致,总的并发用户数=并发用户数*n(Slave机器个数)
在Master机器上重新打开Jmeter的GUI界面,点击:运行—远程启动—Slave机器

因为资源有限,只使用了一台Slave机器

我们可以看到Slave机器上打印了相应的日志,则说明分布式场景配置成功:

Jmeter性能测试分布式技术的更多相关文章
- Jmeter性能测试-分布式压力测试
作为一个测试行业的菜鸟,由于投身于一个小公司,包揽所有的测试.刚开始的功能测试到接口测试,稳定性测试,兼容性测试等,一般由于是小项目所以对于性能有所忽略,也没怎么涉及,公司接了个大项目,后期对于性能上 ...
- JMeter JMeter远程分布式联机性能测试
JMeter远程分布式联机性能测试 by:授客 QQ:1033553122 测试环境 apache-jmeter-2.13 Java JDK版本:1.8 1. JMeter分布式测试简介 当一个 ...
- JMeter远程分布式联机性能测试
测试环境 apache-jmeter-2.13 Java JDK版本:1.8 1. JMeter分布式测试简介 当一个JMeter客户端因网络限制等因素,无法模拟足够的用户对服务器施压时,需要用到J ...
- jmeter性能测试-高并发分布式部署
jmeter什么要做分布式部署? jmeter是运行在JVM虚拟机上的,当模拟大量并发时,对运行机器的性能/网络负载会很大. 此时就需要使用jmeter的分布式部署功能,实现多台被控机器同时并发访问被 ...
- JMeter性能测试-服务器资源监控插件详解
零.引言 我们对被测应用进行性能测试时,除了关注吞吐量.响应时间等应用自身的表现外,对应用运行所涉及的服务器资源的使用情况,也是非常重要的方面,通过实时监控,可以准确的把握不同测试场景下服 ...
- (转)JMeter性能测试-服务器资源监控插件详解
零.引言 我们对被测应用进行性能测试时,除了关注吞吐量.响应时间等应用自身的表现外,对应用运行所涉及的服务器资源的使用情况,也是非常重要的方面,通过实时监控,可以准确的把握不同测试场景下服务器资源消耗 ...
- jmeter的分布式部署
在使用Jmeter进行性能测试时,如果并发数比较大(比如5000+并发),单台电脑的配置(CPU和内存)可能无法支持(公司配的联想e450家庭用笔记本一般到1000就会卡死),这时可以使用Jmeter ...
- (九) 使用Jmeter 做分布式压测 ;
在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...
- 11月1号开学! 《jmeter性能测试实战》崭新亮相!
课程介绍 第10期<jmeter性能测试实战>课程,11月2号开学!全新改版,和之前的课程框架完全不同 主讲老师:飞天小子 上课方式:每周六周日晚8点到10点,QQ群视频在线直播教学 本期 ...
随机推荐
- Chapter 05—Advanced data management(Part 1)
一. R的数学函数,统计函数及字符处理函数 例01:一道实际应用题 一组学生其数学,科学和英语的成绩如下表: 任务:根据成绩,决定对每个学生的单独指导: 前20%的学生的成绩为A,次之为B,以此类推: ...
- python中random的基本用法
那么怎么使 a 随机生成一个数值呢,来研究一下random的部分程序:python中random模块的几个函数可以随机生成数值,下面咱们看一下random的几个函数的使用方法. random()是不能 ...
- Springboot中使用redis进行api限流
api限流的场景 限流的需求出现在许多常见的场景中 秒杀活动,有人使用软件恶意刷单抢货,需要限流防止机器参与活动 某api被各式各样系统广泛调用,严重消耗网络.内存等资源,需要合理限流 淘宝获取ip所 ...
- HDU5973 Game of Geting Stone(威佐夫博弈)
Two people face two piles of stones and make a game. They take turns to take stones. As game rules, ...
- 通过Centreon监控apache、MySQL、Hadoop服务状态
在上面的章节中,只是简单介绍了Centreon的几个基础监控项,例如添加主机.服务等,这些对于一个监控系统来说是远远不够的,本节将重点介绍对一些扩展服务的监控,也就是对一些常见应用的监控. 一. Na ...
- 【关注图像采集视频传输】之CYUSB3014 EZ-USB FX3 Software Development Kit
网址:http://www.cypress.com.与之前的High Speed FX2相比,新的产品叫Super Speed FX3,沿用了之前的命名习惯.FX2芯片内嵌一个8051核,FX3则内 ...
- MySQL 05
目录 事务 基本概念 四大特性(ACID) 使用方法 存储引擎 视图 基本概念 使用方法 触发器 基本概念 使用方法 存储过程 基本概念 使用方法 数据备份 备份 导入 函数 事务 基本概念 事务: ...
- 【HTTP】402- 深入理解http2.0协议,看这篇就够了!
本文字数:3825字 预计阅读时间:20分钟 导读 http2.0是一种安全高效的下一代http传输协议.安全是因为http2.0建立在https协议的基础上,高效是因为它是通过二进制分帧来进行数据传 ...
- Nginx(二)--nginx的核心功能
反向代理 nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理. proxy_pass 既可以是ip地址,也可以是域名,同时还可以指定端 ...
- nginx之 nginx限流配置
limit_req zone=req_zone;严格依照在limti_req_zone中配置的rate来处理请求超过rate处理能力范围的,直接drop表现为对收到的请求无延时limit_req zo ...