JMeter分布式压测

为了让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参数介绍:

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