JMeter在linux上分布式压测步骤(二)
哈喽,我又来了~
前提:三台linux虚拟机,一台作为master,另外两台作为slave。
一、server端
1、修改1099端口,client和server通信的端口,可以不修改,默认就是1099
2、启动jmeter-server
(这里启动的时候可以看到ip后面的端口不是1099,这里不用管,1099是client和server的通信端口,和这个没有关系)
二、client端:配置master和slave
1、进入到jmeter的bin目录下,打开jmeter.properties
cd /opt/apache-jmeter-5.1.1/bin
vi jmeter.properties
可能会遇到打不开的权限问题:
这里使用:chmod 777 filename ,然后再重新就可以打开了。
在vi命令下使用 /find, find代表你想要查找的字符串。
2、slave(执行机)上的配置:多个slave机的话,则都要这样配置
(1)查找到并取消这段配置的注释 server.rmi.ssl.disable=false ,false改成true。

(2). 输入命令:jmeter-server -Djava.rmi.server.hostname=10.0.1.120 ,启动 anget 节点。jmeter-server 后面的参数指定 agent 的 IP
这里是启动slave上的jmeter服务。如下图出现则启动成功。(这里和windows里点击启动jmeter-server.bat一样)

三、master(控制机)上的配置:
打开jmeter的配置文件后,查找remote_hosts,然后修改为执行机的ip,中间用逗号,隔开。
写上两个slave机的ip,这里写执行机slave的ip和端口,可以写多个。

四、开始压测
多台压测机器分布式压测:
1、三台Linux服务器都要安装相同版本Jmeter,尽量保证安装路径一致;
2、在三台Jmeter机器上放置同样的jmx脚本,脚本的聚合报告中,设置结果写入文件路径:
/usr/local/apache-jmeter-5.1.1/jmx/logs/createOrderResult${__time(YMD)}${__time(HMS)}.jtl
会将压测执行结果放入到/usr/local/apache-jmeter-5.1.1/jmx/logs目录下,并自动生成带有日期时间戳的jtl文件。
这里生成聚合报告的路径根据自己情况而写。
五、运行脚本
运行命令: jmeter -n -t test.jmx -R 10.1.44.122,10.1.44.123 -l test.jtl 或 jmeter -n -t test.jmx -r -l test.jtl
参数 n:非gui运行
t:指定测试脚本
R:指定多少个 agent 启动并参与测试
r: 代表全部 agent 启动并参与测试
l:生成测试结果文件
【同时生成测试报告命令】
./jmeter -n -t 压力测试.jmx -r -l results.jtl -e -o /tmp/ResultReport
-o :用于存放html报告的目录
这里的需要进入到该该脚本的目录,执行该命令,才可以直接写上面的test.jmx,否则就要写上绝对路径。
后面test.jtl聚合报告,也可以指定任意保存的路径,前提是不要有文件名和它重复。
出现的坑!!!!!
(1)启动jmeter-server服务时,找不到文件

解决办法:
方式1、将jmeter.properties的ssl.disable改成true(不进行文件校验)和上面的一样。
方式2、如果slave机在Linux机上,就运行create-rmi-keystore.sh文件;如果是slave机在window上,就运行create-rmi-keystore.bat文件
运行后,自行填写相关信息
运行后,bin目录下会多出一个rmi_keystore.jks文件
这个文件拷贝到想要运行的slave机上,就不用方法1就可以,就是个文件校验的问题

JMeter在linux上分布式压测步骤(二)的更多相关文章
- JMeter在linux上分布式压测遇到的坑(三)
master和slave机要在同一网段内,才能做分布式(Jmeter要配环境变量,这样不用手动起server) 分布式不成功,解决方案: 1.master端和slave端要ping通 2.ping通后 ...
- JMeter在linux上分布式压测环境配置(一)
环境配置 一.在Linux服务器先安装SDK 1.先从官网下载jdk1.8.0_131.tar.gz,l(linux版本,32位,64位根据系统来判断) 2.在/usr/目录下创建java文件夹,(当 ...
- Jmeter在Windows上分布式压测遇到的坑
1.五星坑:远程启动测试,响应数据为空. controller运行jmeter脚本后,GUI无性能数据返回. agent的jmeter server显示连接后立即结束.看似执行实则响应数据为空. 出现 ...
- jmeter实现分布式压测步骤
环境说明:安装与控制机相同版本的jdk与jmeter 1.修改控制机中的jmeter.properties文件 将<remote_hosts=127.0.0.1>改为<remote_ ...
- 实现理论上无tps上限的分布式压测(基于Jmeter+InfluxDB+Grafana+Spring Boot)
JMeter自身带有Master-Slave压测框架,对于并发量不是很高的压力情况下(比如tps低于5000),该方案是可行的,并且使用起来非常方便,只要在配置文件或者命令行工具的参数做一些补充,即可 ...
- jmeter分布式压测对master、slave防火墙配置
首先要了解jmeter分布式压测的基础概念:master为统计结果的服务器,slave为各台压力机,如下图所示 一.结论 针对master 1.修改jmeter.properties的client.r ...
- linux集群压测部署方案
我们今天主要分享的内容从三方面讲解. 集群压力机部署 shell脚本简介 shell脚本搞定压力机部署 集群压力机部署 linux.png 分布式压测背景介绍 在企业项目实战时,如果被压的服务器处 ...
- jmeter 分布式压测(Linux)
之前一篇博文写的是如何在Linux上使用jmeter压测,这篇介绍下Linux上jmeter的分布式压测. 和windows上的分布式类似,需要配置agent节点和控制机 一.Agent节点配置 1. ...
- Jmeter 在linux下的分布式压测
Jmeter 在linux下的分布式压测 0.将 windows机器作为master 控制机(同时也兼做负载机slave), linux机器作为 负载机 slave. 1.linux环境安装 : (1 ...
随机推荐
- react 项目实战(十)引入AntDesign组件库
本篇带你使用 AntDesign 组件库为我们的系统换上产品级的UI! 安装组件库 在项目目录下执行:npm i antd@3.3.0 -S 或 yarn add antd 安装组件包 执行:npm ...
- Growth: 一个关于怎样成为优秀Web Developer 的 App
想了想还是决定在今天公布一个预览版.这样才干持续改进.Growth是一个关于怎样成为优秀的Web Developer的APP--结合技能树.成长路线图.进阶书单.Web七日谈以及一些小測验. 它是我对 ...
- Servlet学习笔记(八)—— 文件下载
一.文件下载概述 比如图片或者HTML这类静态资源,仅仅要在浏览器中打开正确的网址就行下载.仅仅要资源放在应用程序文件夹或者其下的子文件夹中,但不在WEB-INF下.Servlet/JSP容器就会将资 ...
- [WebGL入门]五,矩阵的基础知识
注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明.我会加上[lufy:],另外.鄙人webgl研究还不够深入,一些专业词语,假设翻译有误,欢迎大家指 ...
- Objective-C语言的 if ( self = [super init] )
我们先假设如今自己创建了个类.我们起名叫MyObject,继承于NSObject. 继承知道吧,就是你这个子类(MyObject)假设什么都不写的话,和父类(NSObject)就是一模一样的. OC里 ...
- 【转】React 常用面试题目与分析
作者:王下邀月熊链接:https://zhuanlan.zhihu.com/p/24856035来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 本文有一定概率为水文,怕 ...
- 关于Time Series Database
今天观察了下clojure之父datomic.com的数据库 有点类似sequence数据库的变种 不过这类数据库,感觉用在移动端会更有市场: 1. 移动端需要这种可以本地存储,无删除,联网只增加,只 ...
- Swing手动进行最大化最小化
首先jdk的setExtendedState是有bug的,需要先重载JFrame的setExtendedState方法 /** * Fix the bug "jframe undecorat ...
- HDU 1517:A Multiplication Game
A Multiplication Game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...
- iOS开发——多线程
很多朋友都说iOS开发中,最难理解和学习的就是多线程,很多的原理实现都是通过log看到,也比较抽象,本人也是在多线程方面投入过很多脑细胞..无论这方面的知识掌握和应用起来是否轻松,牢固的基本功.正确的 ...