|
简介
我们在使用Jmeter进行压力测试,有时候会受到测试机的配置限制,进行大并发测试时,电脑会非常卡,Jmeter卡住,无法测试出系统的最大承载能力。
所以我们需要使用Jmeter 的分布式压测,使用多台测试机分摊压力。
执行过程
Jmeter 可以选择一台机器作为控制机,其他机器作为执行机。
·在控制机写好脚本
· 将脚本发送到执行机
· 执行机执行脚本
· 回传执行结果
· 控制机汇总
注意:最终线程数 = 脚本线程数 * 执行机数
每台执行机都是执行同样的脚本,最后汇总到控制机。
实战
1. 安装
在所有机器中安装Jmeter (需要有Java环境)
2. 配置环境变量(可选)
在环境变量中添加 JMETER_HOME 值为Jmeter的安装位置。
Path中添加JMETER_HOME\bin
安装完Jmeter下面开始配置分布式集群。
3. 分布式配置
修改Jmeter安装目录中bin目录下的Jeter.properties;
执行机配置
在配置文件中找到remote_hosts 修改为执行机的 ip:端口号。
端口号 默认使用1099 可以进行修改 -使用默认接口时 remote_hosts 可以不加端口号。
关闭ssl
Jmeter 高版本默认启用ssl 需要创建ssl,不创建启动会报错,这里我们关闭ssl。
到这里执行机的配置就完成了。
下一步启动执行机服务: 执行Jmeter bin 目录下的 jmeter-server.bat;
OK 这就启动成功了!
执行机配置
remote_hosts 设置为执行机的ip和端口号。 多个执行机用 ,号分割:
remote_hosts=192.168.1.103:1099,192.168.1.104,192.168.1.105
端口号需要跟执行机的server_port保持一致,同样默认端口可以不写。
关闭ssl
server.rmi.ssl.disable=true
启动 Jmeter-server.bat
到这里Jmeter 分布式集群就配置完成了。
使用
启动 jmeter.bat
在控制机写完脚本之后,点击运行。
可以选择启动指定测试机,也可以启动所有测试机。
问题
·各个测试机的Java版本和Jmeter 需要保持一致,防止出现问题
启动报错 java.rmi.server.ExportException
Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)
An error occurred: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)
errorlevel=1
原因: 没有关闭 ssl。 取消前面的#号 设置值为true。
|
|