哈喽,我又来了~

前提:三台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

-e :在脚本运行结束后生成html报告 
-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上分布式压测步骤(二)的更多相关文章

  1. JMeter在linux上分布式压测遇到的坑(三)

    master和slave机要在同一网段内,才能做分布式(Jmeter要配环境变量,这样不用手动起server) 分布式不成功,解决方案: 1.master端和slave端要ping通 2.ping通后 ...

  2. JMeter在linux上分布式压测环境配置(一)

    环境配置 一.在Linux服务器先安装SDK 1.先从官网下载jdk1.8.0_131.tar.gz,l(linux版本,32位,64位根据系统来判断) 2.在/usr/目录下创建java文件夹,(当 ...

  3. Jmeter在Windows上分布式压测遇到的坑

    1.五星坑:远程启动测试,响应数据为空. controller运行jmeter脚本后,GUI无性能数据返回. agent的jmeter server显示连接后立即结束.看似执行实则响应数据为空. 出现 ...

  4. jmeter实现分布式压测步骤

    环境说明:安装与控制机相同版本的jdk与jmeter 1.修改控制机中的jmeter.properties文件 将<remote_hosts=127.0.0.1>改为<remote_ ...

  5. 实现理论上无tps上限的分布式压测(基于Jmeter+InfluxDB+Grafana+Spring Boot)

    JMeter自身带有Master-Slave压测框架,对于并发量不是很高的压力情况下(比如tps低于5000),该方案是可行的,并且使用起来非常方便,只要在配置文件或者命令行工具的参数做一些补充,即可 ...

  6. jmeter分布式压测对master、slave防火墙配置

    首先要了解jmeter分布式压测的基础概念:master为统计结果的服务器,slave为各台压力机,如下图所示 一.结论 针对master 1.修改jmeter.properties的client.r ...

  7. linux集群压测部署方案

    我们今天主要分享的内容从三方面讲解. 集群压力机部署 shell脚本简介 shell脚本搞定压力机部署 集群压力机部署   linux.png 分布式压测背景介绍 在企业项目实战时,如果被压的服务器处 ...

  8. jmeter 分布式压测(Linux)

    之前一篇博文写的是如何在Linux上使用jmeter压测,这篇介绍下Linux上jmeter的分布式压测. 和windows上的分布式类似,需要配置agent节点和控制机 一.Agent节点配置 1. ...

  9. Jmeter 在linux下的分布式压测

    Jmeter 在linux下的分布式压测 0.将 windows机器作为master 控制机(同时也兼做负载机slave), linux机器作为 负载机 slave. 1.linux环境安装 : (1 ...

随机推荐

  1. 【前端】JavaScript继承实现的四种方式

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/4770235.html 一.继承的实现方法 1.原型链继承 这个继承最为简单,它的实现原理是,每一个AO对象都有一 ...

  2. Start Xamarin——与Microsoft 的sales development manager的闲谈

    由于在Xamarin属于微软之前,就已经有Xamarin的账号,试用过破解版的.所以4月1号微软set Xamarin free之后.就收到了Xamarin的邀请试用邮件. 试用完了之后第二天.收到邮 ...

  3. Python3标准库(二) re模块

    正则表达式(Regular Expression)是字符串处理的常用工具,通常被用来检索.替换那些符合某个模式(Pattern)的文本.很多程序设计语言都支持正则表达式,像Perl.Java.C/C+ ...

  4. Swift—使用try?和try!区别-仅供参考

    在使用try进行错误处理的时候,经常会看到try后面跟有问号(?)或感叹号(!),他们有什么区别呢? 1.使用try?  try?会将错误转换为可选值,当调用try?+函数或方法语句时候,如果函数或方 ...

  5. C - The C Answer (2nd Edition) - Exercise 1-5

    /* Modify the temperature conversion program to print the table in reverse order, that is, from 300 ...

  6. cocos2dX 之数据存储

    今天我们来看cocos2dX里面的数据存储类, CCUserDefault, 如今的游戏基本都会把用户信息保存下来, 以便于再次进入游戏的时候读取, 为了方便起见,有时我们也能够用CCUserDefa ...

  7. 第1章 SQL核心

    第1章 SQL核心正在更新内容,请稍后

  8. web 开发之js---巧用iframe实现jsp无刷新上传文件

    首先要说的就是 ajax 是无法实现上传文件的,可以想一下ajax与后台通信都是通过传递字符串,怎么能传递文件呢?其实出于安全考虑js是不能操作文件的,所以就不要再说用ajax来实现文件的上传了,这是 ...

  9. 蓝桥 PREV-30 历届试题 波动数列 【动态规划】

      历届试题 波动数列   时间限制:1.0s   内存限制:256.0MB      问题描述 观察这个数列: 1 3 0 2 -1 1 -2 ... 这个数列中后一项总是比前一项增加2或者减少3. ...

  10. android 3G移植【转】

    本文转载自:http://blog.csdn.net/hanmengaidudu/article/details/17028383 一 开发环境简介 内容 说明 3G模块 华为EM820W(WCDMA ...