Jmeter搭建分布式集群压测实战

这是我参与更文挑战的第1天,活动详情查看:更文挑战

简介

我们在使用Jmeter进行压力测试,有时候会受到测试机的配置限制,进行大并发测试时,电脑会非常卡,Jmeter卡住,无法测试出系统的最大承载能力。
所以我们需要使用Jmeter 的分布式压测,使用多台测试机分摊压力

执行过程

Jmeter 可以选择一台机器作为控制机,其他机器作为执行机。

  • 在控制机写好脚本
  • 将脚本发送到执行机
  • 执行机执行脚本
  • 回传执行结果
  • 控制机汇总

注意: 最终线程数 = 脚本线程数 * 执行机数

每台执行机都是执行同样的脚本,最后汇总到控制机。

实战

1. 安装

下载地址:官方下载地址

在所有机器中安装Jmeter (需要有Java环境)

image.png

2. 配置环境变量(可选)

在环境变量中添加 JMETER_HOME 值为Jmeter的安装位置

Path中添加JMETER_HOME\bin

安装完Jmeter下面开始配置分布式集群

3. 分布式配置

修改Jmeter安装目录中bin目录下的Jeter.properties

执行机配置

在配置文件中找到remote_hosts 修改为执行机的 ip:端口号

image.png

端口号 默认使用1099 可以进行修改 -使用默认接口时 remote_hosts 可以不加端口号

image.png

关闭ssl

Jmeter 高版本默认启用ssl 需要创建ssl,不创建启动会报错,这里我们关闭ssl

image.png

到这里执行机的配置就完成了

下一步启动执行机服务: 执行Jmeter bin 目录下的 jmeter-server.bat

image.png

OK 这就启动成功了

image.png

执行机配置

remote_hosts 设置为执行机的ip和端口号。 多个执行机用 ,号分割

remote_hosts=192.168.1.103:1099,192.168.1.104,192.168.1.105

端口号需要跟执行机的server_port保持一致,同样默认端口可以不写

image.png

关闭ssl

server.rmi.ssl.disable=true
复制代码

启动 Jmeter-server.bat

到这里Jmeter 分布式集群就配置完成了

使用

启动 jmeter.bat

在控制机写完脚本之后,点击运行

image.png

可以选择启动指定测试机,也可以启动所有测试机

问题

  • 各个测试机的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

server.rmi.ssl.disable=true

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享