4.分布式压测

分布式压测

①添加 jmeter 环境变量到:/etc/profile
内容如下:

jmeter env

export JMETER_HOME=/home/dmadmin/owen/jmeter #实际jmeter目录
export CLASSPATH=JMETER_HOME/lib/jorphan.jar:CLASSPATH
export PATH=PATH:$HOME/bin

使环境变量生效:sudo source /etc/profile
查看是否生效:jmeter -v

②配置 Master 和 Slave
Master
配置「jmeter.properties」文件:
remote_hosts=192.168..:1099,192.168..**:1099 //写入slave的ip:port,多个以英文逗号分隔
server_port=1099//配置master和slave的通信端口
server.rmi.localport=1099

Slave
修改「jmeter.properties」文件:
remote_hosts=127.0.0.1:1099 //写入当前机器的ip:port,注意,使用127.0.0.1的时候,一定要注意jmeter所在机器的hostname有没有在hosts文件中配置对,hostname命令查看机器名,vi /etc/hosts命令将机器名绑定到127.0.0.1
server_port=1099 //配置master和slave的通信端口
server.rmi.localport=1099

测试配置是否生效:
ping cmsapi.dmall.com(需要压测的地址)
ping ip-10-248-210-117 看看是否到127.0.0.1

④启动过程:
所有slave机器开启一个进程 jmeter-server(jmeter的bin目录下):
ssh [email protected] db#dm.admin
启动服务:jmeter-server -Djava.rmi.server.hostname=10.248.209.223
ssh [email protected] db#dm.admin
启动服务:jmeter-server -Djava.rmi.server.hostname=10.248.209.246
ssh [email protected] db#dm.admin
启动服务:jmeter-server -Djava.rmi.server.hostname=10.248.208.190
ssh [email protected] db#dm.admin
启动服务:jmeter-server -Djava.rmi.server.hostname=10.248.215.143

Master机器开启一个进程jmeter-server:
ssh [email protected] db#dm.admin
启动服务:jmeter-server -Djava.rmi.server.hostname=10.248.212.41

在Master机器上执行压测指令:
jmeter -n -t /home/dmadmin/script/cms/1/1.jmx -l /home/dmadmin/result/cms/1.jtl -r

注意:
1.脚本编辑中需要注意启动的并发数,各项控制参数,会对所有slave单独生效;
2.无需脚本文件,脚本文件会以文件流方式从master发送到slave上
3.不会生成结果文件,结果信息会以文件流方式发送到master,写入master指定路径的文件内
4.脚本所需的参数文件必须保存在slave机器的对应的位置:例如master上脚本中设置的参数读取路径在/env,那么slave机器必须要在/env下有对应的参数文件

你可能感兴趣的:(4.分布式压测)