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

目录

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:

jmeter之分布式压测-LMLPHP

linux:

jmeter之分布式压测-LMLPHP

2、控制机和压测机配置

压测机(slave)

第一步:关闭防火墙

service iptables stop

jmeter之分布式压测-LMLPHP

第二步:指定启动端口

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

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

jmeter之分布式压测-LMLPHP

第三步:启动压测机

启动128机器:

cd /opt/apache-jmeter-3.3/bin

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

jmeter之分布式压测-LMLPHP

启动129机器:

cd /opt/apache-jmeter-3.3/bin

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

jmeter之分布式压测-LMLPHP

控制机(master)

第一步:修改配置文件

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

jmeter之分布式压测-LMLPHP

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

jmeter之分布式压测-LMLPHP

3、执行分布式压测

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

控制机:

jmeter之分布式压测-LMLPHP

压测机:

jmeter之分布式压测-LMLPHP

jmeter之分布式压测-LMLPHP

以上,脚本调试通过

第二步:参数化

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

jmeter之分布式压测-LMLPHP

jmeter之分布式压测-LMLPHP

执行:

jmeter之分布式压测-LMLPHP

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

第三步:命令行执行

认识命令行参数

jmeter之分布式压测-LMLPHP

用全部压测机压测:

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

  jmeter之分布式压测-LMLPHP

仅用一台机器压测:

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

  jmeter之分布式压测-LMLPHP

注:

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

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

05-11 17:22