jmeter:JMeter分布式部署及踩坑解决
简单唠一唠
最近要做性能测试了,主要是业务并发的测试
牵扯到大并发的话,一台
client
机器是会运行宕机的,今天就唠唠
jmeter
的分布式测试
本次是环境的搭建,踩坑纪实。下面进入正文部分
JMeter分布式环境搭建
环境搭建 - 第一步:
是要先在本机部署
java
和
jmeter
的运行环境
-
java
最好下载jdk-8u321-windows-x64
-
jmeter
下载新版即可,如果想保证稳定可退两个版本下载
上述两个环境搭建的搭建可以百度一下,教程特别多。环境搭建好以后,记得去验证下
java
环境验证,
cmd
控制台输入以下命令:
-
java
C:\Users\lifeng>java
-
javac
C:\Users\lifeng>java
-
java -version
C:\Users\lifeng>java -version
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
jmeter
环境验证,
cmd
控制台输入以下命令:
-
jmeret -v
C:\Users\lifeng01>jmeter -v
_ ____ _ ____ _ _ _____ _ __ __ _____ _____ _____ ____
/ \ | _ \ / \ / ___| | | | ____| | | \/ | ____|_ _| ____| _ \
/ _ \ | |_) / _ \| | | |_| | _| _ | | |\/| | _| | | | _| | |_) |
/ ___ \| __/ ___ \ |___| _ | |___ | |_| | | | | |___ | | | |___| _ <
/_/ \_\_| /_/ \_\____|_| |_|_____| \___/|_| |_|_____| |_| |_____|_| \_\ 5.4.3
环境搭建 - 第二步:
自己本机搭建完成后,要在远程机器上搭建环境了,如果没电脑,可用同事的电脑操作起来
远程机的
java
和
jmeter
环境必须要和控制机(本机)的
java
和
jmeter
版本一致,必须一致,必须一致,否则就会出现乱七八糟的问题。
远程机的的环境验证同控制机(本机)的的环境验证方法示一样的,是一样的,是一样的。
请注意 - 细节来了:
远程机操作配置:
-
首先在远程机器上,找到
jmeter
的安装路径,并在bin
目录下找到jmeter.properties
。
-
打开
jmeter.properties
文件修改remote_hosts
,把127.0.0.1
修改成远程机的IPv4 地址
。
-
继续在
jmeter.properties
文件修改server.rmi.ssl.disable=true
,这里是开启弃用秘钥,因为使用秘钥发现坑有些多。
- 以上修改完成后,千万要记得保存。
-
保存完成后,启动
cmd
输入jmeter-server
启动服务(如果运行命令起不来,那肯定是jmeter的环境变量配置错误,记得去检查下)。
控制机(本机)操作配置:
-
控制机的配置操作同远程机是一样的,区别的是,控制机器的
remote_hosts
要配置远程机的IPv4 地址
-
如果你想把控制机也要当远程机使用,也在控制机(本机)启动
cmd
输入jmeter-server
启动服务。
环境搭建 - 第三步:
以上控制机和远程机配置完成后开始运行
控制机启动
jmeter
GUI页面,鼠标点
运行
->
远程启动
(英文:
Run
->
Remote Start
)处会显示设置的远程机的
IPv4 地址
。
运行分为两种,第一种是命令行输入命令运行,这种的更适用做性能测试;第二种是GUI的运行
-
第一种 - GUI运行:鼠标点
运行
->远程启动所有
(英文:Run
->Remote Start All
)
-
第二种 - 启动
cmd
输入命令运行
PS E:\git_dfwsgroup\jmScript> jmeter -n -t .\并发测试脚本.jmx -R 10.11.12.157,10.11.29.226,10.11.12.120 -l E:\git_dfwsgroup\jmScript\results\test.jtl -e -o E:\git_dfwsgroup\jmScript\results\report\
Creating summariser <summary>
Created the tree successfully using .\考试业务并发测试脚本.jmx
Configuring remote engine: 10.11.12.157
Configuring remote engine: 10.11.29.226
Configuring remote engine: 10.11.12.120
Starting distributed test with remote engines: [10.11.12.120, 10.11.12.157, 10.11.29.226] @ Fri Mar 25 19:18:40 CST 2022 (1648207120343)
Remote engines have been started:[10.11.12.120, 10.11.12.157, 10.11.29.226]
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary = 9 in 00:00:03 = 3.5/s Avg: 391 Min: 0 Max: 1453 Err: 2 (22.22%)