向左转向右走

导航

JMeter分布式压测

为了让jmeter工具提供更强大的负载能力,jmeter提供了多台机器同时产生负载的机制。
一、申请5台Linux服务器,配置好点。
二、分布式测试原理:其中一台作为主控机/调度机(server),其他为压力机(agent)

三、处理过程:

  1)调度机server启动以后,会拷贝本地的jmx文件分发到远程的agent机器上;

  2)agent机器拿到脚本以后启动命令行模式去执行脚本,对于每台agent机器拿到的脚本都是一样的,所以如果jmx脚本为50个线程跑3分钟,那么实际并发就是50*5=250个线程并发跑3分钟;

  3)执行时,agent会把执行获得的数据结果传给server机器,server机器会收集所有agent机器的信息并汇总,这样server机器上就存在一份所有agent机器汇总的数据结果。

四、Jmeter分布式压测环境搭建

  1、分布式环境压力服务器要求:

  需要server(控制机)和agent(压力机),agent搭建在linux服务器环境下,server搭建在Linux或windows环境下。
  压力测试瓶颈大都在带宽上面,需要保证压力机的带宽要比服务器的带宽高,不然压力上不去。
  需要保证agent和server都在一个网络中,且在多网卡环境需要保证启动的网卡都在一个网段。
  需要保证server和agent之间的时间同步。
  关闭防火墙

  2、Windows部署jmeter

  (1)部署jdk环境,配置path变量
  (2)直接去官网下载最新的二进制源码包即可。
  (3)解压jmeter到指定目录,设置path变量,安装完成之后,在命令行运行jmeter命令,如果可以正常启动jmeter,说明环境配置ok。

  3、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

说明:

 

  1、主控机可以只是server,也可既是server也是agent:如果自身做压力机,将127.0.0.1也配置上;否则,不需要配置。

  2、各个压力机的端口号可修改,也可不修改:若修改,就按新修改的端口号进行配置;没修改,jmeter默认端口号1099,直接配置也可以。 

  #server_port=1099      #端口号修改:放开注释,随意修改

  (5)修改所有服务器的jmeter配置:

五、上传脚本到主控机上,执行脚本

  jmeter -n -t login.jmx -r -l login.jtl -e -o /root/gss/report-login

jmeter参数介绍:

  -n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
  -t 测试文件 -> 要运行的 JMeter 测试脚本文件
  -r 远程执行 -> 启动远程服务
  -l 日志文件 -> 记录结果的文件
  -e 测试文件 ->指脚本运行完后生成报告
  -o 测试文件 -> 指定报告存放的目录
  -h 帮助 -> 打印出有用的信息并退出

 

posted on 2019-08-25 01:26  向左转向右走  阅读(248)  评论(0编辑  收藏  举报