前提
调度机和执行机都要安装配置JDK和jmeter的运行环境
调度机和执行机上JDK和Jmeter的版本要保持一致
防火墙要关闭
整体思路
mac电脑当调度机,多个ubuntu虚拟机当执行机
调度机:配置执行机的ip等信息,后面会详细介绍,存放jmeter.jmx脚本,脚本中引用参数化文件的路径指向执行机
执行机:每个执行机都要配置自己的IP和端口,jmx需要的参数化文件要放到执行机上,所有执行机上的文件夹、目录、文件、路径等要保持一致
当在调度机上选择某个执行机执行脚本时,会把脚本文件发送到执行机上,脚本中需要的参数化文件也会按照路径引用执行机上的,执行完成后结果会返回到调度机上
调度机上连接虚拟机,将需要的安装包和参数化文件传给执行机
-
ssh连接虚拟机:ssh username@10.x.x.x(虚拟机的用户名和IP)
-
输入密码回车进入根目录下,用户自己的文件一般放到home文件夹下
-
进入home目录下,创建项目及相关文件夹
Mkdir autotest 存放项目信息
Cd autotest
Mkdir software 存放软件
Mkdir script 存放jmeter脚本
Mkdir testdata 存放参数化文件 -
在本地打开终端,向虚拟机传送文件
Scp 本地需要传给执行机的文件路径 执行机上接收文件的路径
scp /Users/xxx/downloads/autotest/script/order.jmx trl@10.x.x.253:/home/trl/autotest/script
(jmx脚本在分布式压测时不需要放到执行机上,我是为了验证执行机搭建好了jmeter运行环境)
向虚拟机发送jmeter压缩包及参数化文件(我这里需要上传邮箱和设备id)
scp /Users/xxx/downloads/apache-jmeter-5.6.2.tgz trl@10.xx.xx.251:/home/trl/autotest/software
Scp /Users/xxx/Downloads/autotest/testData/emailList.csv trl@10.xx.xx.252:/home/trl/autotest/testdata
Scp /Users/xxx/Downloads/autotest/testData/device_key.csv trl@10.xx.xx.252:/home/trl/autotest/testdata -
jdk17下载安装
wget https://download.oracle.com/java/17/archive/jdk-17.0.10_linux-x64_bin.tar.gz
解压:tar -zxvf jdk-17.0.10_linux-x64_bin.tar.gz
s