JMeter在linux上分布式压测步骤

Posted wuzm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:生成测试结果文件     

这里的需要进入到该该脚本的目录,执行该命令,才可以直接写上面的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分布式压测

Jmeter分布式压测原理及步骤

jmeter分布式压测实践及踩坑记录(linux压力机)

jmeter 分布式压测配置Linux

Jmeter分布式压测

DAY2-jmeter分布式压测,charls操作基础,python基础