jmeter之分布式压测

很多性能大牛说一台机器的压测其实不准确,于是搜索网上的分布式压测练习了一番

 

目录

1、环境准备

2、控制机和压测机配置

3、执行分布式压测

 

1、环境准备

1.1准备一台windows作为控制机(master)(ip:XX.XX.XX.130),2台linux作为负载机(slave)(ip:XX.XX.XX.128)(ip:XX.XX.XX.129)

1.2三台机器都配置同样版本的java和jmeter

linux环境变量添加:

export JAVA_HOME=/opt/jdk1.8.0_161
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JMETER_HOME=/opt/apache-jmeter-3.3
export PATH=$JMETER_HOME/bin:$PATH
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH

环境确认:

windows:

linux:

2、控制机和压测机配置

压测机(slave)

第一步:关闭防火墙

service iptables stop

第二步:指定启动端口

找到jmeter的bin目录下的jmeter.properties文件,操作修改,保存

vi /opt/apache-jmeter-3.3/bin/jmeter.properties

 

第三步:启动压测机

启动128机器:

cd /opt/apache-jmeter-3.3/bin

./jmeter-server -Djava.rmi.server.hostname=XX.XX.XX .128

启动129机器:

cd /opt/apache-jmeter-3.3/bin

./jmeter-server -Djava.rmi.server.hostname=XX.XX.XX .129

 

控制机(master)

第一步:修改配置文件

找到jmeter的bin目录下的jmeter.properties文件,操作修改,保存

控制机上面已经可以看到2台压测机

 

3、执行分布式压测

 第一步:点击“全部远程启动”,查看

控制机:

压测机:

以上,脚本调试通过

第二步:参数化

将参数化文件放到每台压测机同样的位置,如,我放到opt目录下,命名为qq.txt,当中有三组登录数据

执行:

 

 2台机器都将脚本跑了一遍

第三步:命令行执行

认识命令行参数

用全部压测机压测:

jmeter -n -t C:\canshuhua.jmx -r -l c:\m.jtl

  

仅用一台机器压测:

jmeter -n -t C:\canshuhua.jmx -R  XX.XX.XX.128:2000 -l c:\4.jtl

  

 

 注:

1、压测机和控制机需在同一网段

2、压测机远程执行时,查看结果树的响应结果没有输出,这是正常的

3、4核16G的最多抗的住500并发,通常设置的并发量在200-300之间每台

 

posted @ 2018-10-16 22:41  给明天的自己  阅读(1198)  评论(0编辑  收藏  举报