为了让jmeter工具提供更强大的负载能力,jmeter提供了多台机器同时产生负载的机制。
1、申请5台Linux服务器,配置好点。
2、分布式测试原理:其中一台做为主控机/调度机(server),其余为压力机(agent)java
3、处理过程:linux
1)调度机server启动之后,会拷贝本地的jmx文件分发到远程的agent机器上;apache
2)agent机器拿到脚本之后启动命令行模式去执行脚本,对于每台agent机器拿到的脚本都是同样的,因此若是jmx脚本为50个线程跑3分钟,那么实际并发就是50*5=250个线程并发跑3分钟;windows
3)执行时,agent会把执行得到的数据结果传给server机器,server机器会收集全部agent机器的信息并汇总,这样server机器上就存在一份全部agent机器汇总的数据结果。服务器
4、Jmeter分布式压测环境搭建网络
一、分布式环境压力服务器要求:并发
须要server(控制机)和agent(压力机),agent搭建在linux服务器环境下,server搭建在Linux或windows环境下。
压力测试瓶颈大都在带宽上面,须要保证压力机的带宽要比服务器的带宽高,否则压力上不去。
须要保证agent和server都在一个网络中,且在多网卡环境须要保证启动的网卡都在一个网段。
须要保证server和agent之间的时间同步。
关闭防火墙分布式
二、Windows部署jmeter工具
(1)部署jdk环境,配置path变量
(2)直接去官网下载最新的二进制源码包便可。
(3)解压jmeter到指定目录,设置path变量,安装完成以后,在命令行运行jmeter命令,若是能够正常启动jmeter,说明环境配置ok。测试
三、Linux部署jmeter
(1)jmeter运行环境依赖java的jdk,因此须要安装jdk,jmeter5.0版本以上须要安装jdk1.8及以上版本;首先下载:jdk-8u131-linux-x64.tar.gz、apache-jmeter-5.0.zip,并上传至服务器,并解压:
tar zxvf jdk-8u131-linux-x64.tar.gz --mv jdk-8u131-linux-x64 jdk1.8
unzip -o apache-jmeter-5.0.zip --mv apache-jmeter-5.0 jmeter
(2)配置环境变量:vi /etc/profile
在文件的最后面加上须要配置的环境变量,红色路径能够根据自身环境进行修改:
JAVA_HOME=/root/gss/jdk1.8
JRE_HOME=$JAVA_HOME/jre
JMETER_HOME=/root/gss/jmeter
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$JMETER_HOME/bin/
export JMETER_HOME=/root/gss/jmeter
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH
(3)当即生效配置文件,执行命令:source /etc/profile
检查安装结果:java -version、jmeter --version
(4)修改主控机启动配置使其能够调度全部压力机:
vi /root/gss/jmeter/bin/jmeter.properties
remote_hosts=127.0.0.1:1099,192.xx.xx.15:1099,192.xx.xx.16:1099,192.xx.xx.17:1099,192.xx.xx.18:1099(多台slave以前用 "," 隔开)
#server.rmi.ssl.disable=false # 此为必改项,放开注释,false改成true
说明:
一、主控机能够只是server,也可既是server也是agent:若是自身作压力机,将127.0.0.1也配置上;不然,不须要配置。
二、各个压力机的端口号可修改,也可不修改:若修改,就按新修改的端口号进行配置;没修改,jmeter默认端口号1099,直接配置也能够。
#server_port=1099 #端口号修改:放开注释,随意修改
(5)修改全部服务器的jmeter配置:
5、上传脚本到主控机上,执行脚本
jmeter -n -t login.jmx -r -l login.jtl -e -o /root/gss/report-login
jmeter参数介绍: