linux环境下分布式压测(一)
一:分布式原理
准备多台相同局域网的Linux服务器,一台做为Master(调度机)-发送脚本、收集压测结果,其它的做为
Slave(压测机)-模拟用户向服务器发送请求,并把结果传给Master。
二.搭建环境
1.配置Master环境
1).在Master上配置jdk环境并配置环境变量
验证java环境变量:java -version
2)在Master上配置jmeter环境并配置环境变量
验证jmeter环境变量:jemter -v
若提示无权限:
执行命令:chmod +x +路径,即可赋予jmeter权限
3)进入jmeter中bin目录,修改jmeter.properties,remote_hosts=ip1:1099,ip2:1099,…并保存,本次压测是4台
Slave机器;(server_port默认是1099,也可以根据实际情况修改)
2.配置Slave环境
1).在Slave上配置jdk环境并配置环境变量并验证是否配置成功;
2)在Slave上配置jmeter环境并配置环境变量并验证是否配置成功;
3)进入jmeter中bin目录,修改jmeter.properties,server.rmi.ssl.disable=true,httpclient.timeout=1000,并保
存;
4)./jmeter-server启动jmeter ;
注:3.多台Slave,重复上述步骤1)至4)
三.执行命令
1.前提: 1)Master上已上传脚本文件和参数化文件; 2)Slave上参数化文件要放在jmeter的bin目录下; 3)Slave 上 启动 ./jmeter-server;
2.在Master上执行分布式压测; 1)jmeter -n -t X.jmx -r -l X.jtl (从压测机上分别执行100个请求,如分布式环境有4台slave机器,实际对服务器的
请求数是100*4=400)
例如:jmeter -n -t /usr/local/hekai/Screen_PageFlows.jmx -r -l /usr/local/hekai/Screen_PageFlows.jtl -e -o
myDashboard
搭建环境过程中遇到的问题及解决办法:
1.java.io1
.FileNotFoundException: rmi_keystore.jks (No such file or directory)
解决办法:进入jmeter中bin目录,修改server.rmi.ssl.disable=true即可
2.jmeter出现内存溢出;
uncaught Exception java.lang.outofMemoryError:Java heap space.see log file for details.
解决办法:编辑jmeter.sh,修改set HEAP的值(-Xms是初始内存,-Xmx是最大占用内存)
3.施压机-主机网卡流量到达瓶颈;
1 http://1.java.io
解决办法:
修改jmeter.propertie:mode=StrippedBatch(启用)
linux环境下分布式压测(一)
于 2020-09-29 10:42:22 首次发布