简单来说就是,多台机器同时安装jmeter,选择一台机器作为调度机,其他作为压力机。进行相应的配置后,就可以用调度机操控压力机发起请求。 分布式执行原理 负载机配置 安装JAVA 下载并解压JDK
1 2 3 4 |
mkdir /usr/lib/jvm/ cd /usr/lib/jvm/ tar -zxvf jdk1.8.0_121.tar.gz |
配置jdk的环境变量
1 2 3 4 5 6 7 |
#vi /etc/profile export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121 export JRE_HOME=/usr/lib/jvm/jdk1.8.0_121/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin |
再执行source /etc/profile刷新配置文件 通过java -version查看是否设置成功 安装Jmeter 下载jmeter.tgz文件,并将文件上传至/data/
1 2 3 4 5 6 7 8 9 |
#将jmeter文件解压,并将解压后的文件拷贝至指定路径/data/ tar xvf apache-jmeter-4.0.tgz 配置jmeter的环境变量,将下述内容复制粘贴 #vi /etc/profile export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar: export PATH=$PATH:$JAVA_HOME/bin:$JMETER_HOME/bin: export JMETER_HOME=/data/apache-jmeter-4.0 |
再执行source /etc/profile刷新配置文件 通过jmeter -v查看是否设置成功 在jmeter目录创建testplan testresult子目录 , 将测试脚本login.jmx上传至testplan,进入bin文件下执行测试输出测试结果命令
1 2 3 |
cd /data/apache-jmeter-4.0/bin jmeter -n -t ./testplan/login.jmx -l ./result/test.jtl -e -o ./testresult/ |
分布式配置 调度机Controller 在多台机器中按照上述步骤配置jmeter,选择其中一台为调度机,其他为执行机 在调度机上修改bin/jmeter.properties, 添加执行机的IP及端口 , 1099是默认的rmi通信端口
1 2 |
remote_hosts=192.168.174.130:1000,192.168.3.148:1888 |
案例中 , 192.168.174.130:1000即是执行机IP和端口号 取消server.rmi.ssl.disable=false的中注释并将false改为ture
1 2 3 4 5 6 |
# Remote Hosts - comma delimited remote_hosts=192.168.5.95:1099,192.168.5.103:1099 server.rmi.ssl.disable=true |
开启执行脚本机器上的server服务,bin/jmeter-server 在控制机执行分布式命令
1 2 3 4 5 6 |
#使用 -r 启动所有从机执行脚本 jmeter -n -t testplan/comic.jmx -r -l testResult/result1.jtl #指定从机IP jmeter -n -t testplan/comic.jmx -R 10.15.243.53,10.15.230.78 -l testResult/result1.jtl |
执行机Agent 修改jmeter.properties
1 2 3 4 |
server_port=1000 server.rmi.localport=1000 server.rmi.ssl.disable=true |
然后执行命令 , 启动服务
1 2 |
sudo jmeter-server -Djava.rmi.server.hostname=192.168.174.130 #从机自身IP |
遇到的问题及解决 An error occurred: Cannot start. localhost is a loopback address In latest version, you can run your script with:指定本地IP 解决方案:
1 2 |
sudo jmeter-server -Djava.rmi.server.hostname=192.168.174.130 #从机自身IP |
java.io.FileNotFoundException: rmi_keystore.jks 1、Jmeter4.0,启动slave报错java.io.FileNotFoundException: rmi_keystore.jks image 解决方法一:slave的jmeter.properties中,设置server.rmi.ssl.disable=true 原因:jmeter4.0以上的版本,默认启用RMI连接的安全通信,需要创建密钥库。所以将SSL禁用即可。 解决方法二:手动生成秘钥和证书。执行create-rmi-keystore.bat(Windows适用)或create-rmi-keystore.sh(Linux适用) Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 在使用java远程启动linux服务器上的jmeter服务是报Neither […]
View Details解决方案: npm config set user 0 npm config set unsafe-perm true 报错: Unable to save binary /var/lib/jenkins/workspace/uploadH5_download_app/download/node_modules/node-sass/vendor/linux-x64-64 : { Error: EACCES: permission denied, mkdir '/var/lib/jenkins/workspace/uploadH5_download_app/download/node_modules/node-sass/vendor' at Object.mkdirSync (fs.js:753:3) at sync (/var/lib/jenkins/workspace/uploadH5_download_app/download/node_modules/mkdirp/index.js:71:13) at Function.sync (/var/lib/jenkins/workspace/uploadH5_download_app/download/node_modules/mkdirp/index.js:77:24) at checkAndDownloadBinary (/var/lib/jenkins/workspace/uploadH5_download_app/download/node_modules/node-sass/scripts/install.js:114:11) at Object.<anonymous> (/var/lib/jenkins/workspace/uploadH5_download_app/download/node_modules/node-sass/scripts/install.js:157:1) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3) errno: -13, syscall: 'mkdir', code: 'EACCES', path: '/var/lib/jenkins/workspace/uploadH5_download_app/download/node_modules/node-sass/vendor' } > node-sass@4.11.0 postinstall /var/lib/jenkins/workspace/uploadH5_download_app/download/node_modules/node-sass > node scripts/build.js ———————————————— 版权声明:本文为CSDN博主「T&K」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/sinat_41780498/article/details/88737365
View Details