Jmeter5 实现多机集群压测(局域网组成多机集群)
想要模拟高并发用户访问的场景,用Jmeter5实现的话,单靠一台PC机,资源是不够的,包括单机的内存、使用端口数量等,所以最好是通过多台PC机组成几个集群来对服务器进行压测。
1.软硬件配置
本文环境(控制机、代理机都一样):
– Win7 64位
– JDK8
– 内存 8G
Apache JMeter5.0 下载地址
JDK8 下载地址
2.配置系统环境变量
安装好jdk、解压JMeter5后,分别配置环境变量
JAVA_HOME、JMETER_HOME指向各自的目录(bin目录所在的那一级),并且把各自的bin目录路径都添加到系统变量Path的值里面,以;号分隔:;%JMETER_HOME%\bin;%JMETER_HOME%;%JAVA_HOME%\bin;%JAVA_HOME%\lib;
3.修改JMeter配置,开启代理机(Agent)功能
修改JMeter的bin目录下面的jmeter.properties文件:
- 找到
server.rmi.ssl.disable这行,去掉前的#,并且把它的值由默认的False改为true - 找到
remote_hosts这行,去掉前面的#,并且把它的值由默认的127.0.0.1改为192.168.1.203:1099,这里的IP必须是本机的局域网IP,当然这个端口1099你可以修改为其它的,只要这个端口没有被本机其它进程占用就行。 - 还要配置服务端的端口:
- 双击
bin目录的jmeter-server.bat启动代理机,正常应该显示如下图内容才正常:
这样就OK了,等待主控机发指令就高高兴兴的干活了~
4.搭建控制机(Controller)环境
控制机就相当于集群压测的大脑,由它发指令给所有的代理机执行脚本任务,最后代理机把测试结果回传给控制机
跟代理机一样安装好、配置好JDK、JMeter的环境变量后,修改主控机JMeter的bin目录下jmeter.properties文件
- 找到
server.rmi.ssl.disable这行,去掉前的#,并且把它的值由默认的False改为true - 找到
remote_hosts这行,去掉前面的#,并且把它的值由默认的127.0.0.1改为我本机的IP加端口:192.168.1.212:1099,这里的IP必须是本机的局域网IP,当然这个端口1099你可以修改为其它的,只要这个端口没有被本机其它进程占用就行,这里统一配置为1099。 - 此外还要配置服务端的端口,把局域网其它要组成集群的机器信息添加到
remote_hosts里面来(包括本机):
下面这个很重要,很重要,不启动主控机的jmeter-server.bat,无法从菜单远程启动本机的无界面客户端进行测试
- 打开
bin目录的jmeter-server.bat,这样就启动了本机作为JMeter服务器了
5.开启压测
接下来开启多机集群测试:
执行
bin目录的jmeter.bat启动本机的JMeter应用程序添加一个线程组,配置要启动测试的线程数、时间等信息
配置要测试的http地址、端口、线程数、时间等信息
添加结果查看、聚合报告
然后从菜单:运行 - 远程启动所有或者远程启动单个代理机执行测试任务:
这里有个说明:
其实我们只要把所有的机器都当做代理机,通过主控机的启动的图形界面的操作客户端,只是用来发命令的,就好理解了。
我们通过菜单【运行 - 远程启动所有】调用当前主控机的NONE-GUI客户端以及192.168.1.203机器的NONE-GUI客户端进行测试任务,最后看聚合报告:
这里为啥取样数是300呢?因为我们这个集群有2台机器啊(当前主控机+那台代理机),我们这里的脚本配置的是5s 时间内完成150个线程的启动,每个线程执行一次请求。所以总共采样数就是
(150*1)*2 = 300
搞定~
Jmeter5 实现多机集群压测(局域网组成多机集群)的更多相关文章
- 支付宝LR集群压测报告
支付宝压力测试报告 时间:2016-03-23 测试人员:XXX 目录 支付宝压力测试报告 1 目录 1 一 ...
- 生产调优2 HDFS-集群压测
目录 2 HDFS-集群压测 2.1 测试HDFS写性能 测试1 限制网络 1 向HDFS集群写10个128M的文件 测试结果分析 测试2 不限制网络 1 向HDFS集群写10个128M的文件 2 测 ...
- linux集群压测部署方案
我们今天主要分享的内容从三方面讲解. 集群压力机部署 shell脚本简介 shell脚本搞定压力机部署 集群压力机部署 linux.png 分布式压测背景介绍 在企业项目实战时,如果被压的服务器处 ...
- mysql集群压测
mysql压测 mysql自带就有一个叫mysqlslap的压力测试工具,通过模拟多个并发客户端访问MySQL来执行压力测试,并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别.通过mysql ...
- Linux服务器压测/拷机软件收集
最近公司采购了一批服务器,于是收集了一些拷机软件来压测服务器硬件性能.硬件的稳定相对来说比较重要,7x24小时无间断运行,主要看三个硬件:CPU.内存.硬盘. 下面是收集的一些教程,可能网址已经失效了 ...
- 并发模式与 RPS 模式之争,性能压测领域的星球大战
本文是<如何做好性能压测>系列专题分享的第四期,该专题将从性能压测的设计.实现.执行.监控.问题定位和分析.应用场景等多个纬度对性能压测的全过程进行拆解,以帮助大家构建完整的性能压测的理论 ...
- 压测2.0:云压测 + APM = 端到端压测解决方案
从压力测试说起 压力测试是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患.与功能测试不同,压测是以软件响应速度为测试目标的,尤其是针对在较短时间内大量并发用户的访 ...
- Jmeter(一)非GUI模式压测(NON-GUI模式)结果解析TPS
非GUI模式压测(NON-GUI模式)结果解析TPS 准备工作 从脚本已录制成功之后开始进行压测 安装Jmeter拓展插件 查看 Transactions per Second https://jme ...
- 实现理论上无tps上限的分布式压测(基于Jmeter+InfluxDB+Grafana+Spring Boot)
JMeter自身带有Master-Slave压测框架,对于并发量不是很高的压力情况下(比如tps低于5000),该方案是可行的,并且使用起来非常方便,只要在配置文件或者命令行工具的参数做一些补充,即可 ...
随机推荐
- NPOI操作Excel(一)--NPOI基础
用C#读取Excel的方法有很多中,由于近期工作需要,需要解析的Excel含有合并单元格以及背景色等特殊要求,故在网上查了一些关于读Excel的方法的优缺点,觉得NPOI能满足我的需要,所以搜索了一些 ...
- Just oj 2018 C语言程序设计竞赛(高级组)D: 四边形面积
D: 四边形面积 时间限制: 1 s 内存限制: 128 MB 提交 我的状态 题目描述 有一个四边形,现在需要求它的面积 输入 输入四行,每行两个数整数xx, yy (1≤x,y ...
- 想要将我们的OSGi框架中的批量日志单独打印到文件中
我们的日志虽然没有直接依赖logback,但遗憾的是也没有使用slf4j,而是使用了Apache Common-Logging slf4j 和 common-logging有什么区别呢 common- ...
- jQuery中ajax如何返回值到上层函数里?
这个涉及到js的异步执行了,程序本身是同步执行的,到了getJSON这里的时候,这个函数是异步的,而 load_val这个函数是同步的,你需要这样来异步返回这个值 function load_val( ...
- 转:ubuntu-E:Encountered a section with no Package: header的解决办法
http://blog.csdn.net/hs794502825/article/details/7835902 blog.csdn.net/lixiang0522/article/details/7 ...
- php5.6安装redis各个版本地址集合
igbinary扩展 http://windows.php.net/downloads/pecl/releases/igbinary/2.0.1/ redis扩展 http://windows.php ...
- mysql解决数据库死锁问题
为了保证数据的正确性,对数据库进行操作的时候都会进行上锁,也就是进行修改数据的时候同一时间只能有一个进程,当这个进程处理完了,释放锁了,其他进程才可以进行操作! 总是会碰见一些意外情况,导致数据库死锁 ...
- Period kmp
For each prefix of a given string S with N characters (each character has an ASCII code between 97 a ...
- P1433 吃奶酪 回溯法 优化
题目描述 房间里放着n块奶酪.一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处. 输入输出格式 输入格式: 第一行一个数n (n<=15) 接下来每行2个实数,表示第i块 ...
- Remmarguts' Date POJ - 2449 (A*搜索|k短路)
"Good man never makes girls wait or breaks an appointment!" said the mandarin duck father. ...