性能常识 Jmeter 性能测试:高并发分布式性能测试

松勤小猪 · 2022年07月15日 · 最后由 imath60 回复于 2022年07月16日 · 4581 次阅读

一、为什么要进行分布式性能测试

当进行高并发性能测试的时候,受限于 Jmeter 工具本身和电脑硬件的原因,无法满足我们对大并发性能测试的要求。

基于这种场景下,我们就需要采用分布式的方式来实现我们高并发的性能测试要求。

二、分布式性能测试原理

要进行分布式性能测试,我们首先要一台机器作为主控机(Controller),其他机器为代理机(Agent)。

执行时在主控机上发起并发测试,由主控机将执行脚本分发到代理机上;再在代理机上执行同样的并发测试;执行结束后,代理机将测试数据发送给主控机,最终由主控机把所有代理机执行的结果进行汇总分析。

例如:需要模拟 100 个用户并发,1 台主控机和 4 个代理机,那么只需要将脚本的线程数设置为 20。

本文采用 windows 上 jmeter 的作为主控机,linux 上的 jmeter 为代理机。

三、操作步骤

轻松三步:

1.代理机配置服务启动
(1) 修改代理机 jmeter\bin\jmeter.properties 文件,关闭 SSL 服务,添加:

server.rmi.ssl.disable=true

(2) 启动代理服务

此处 IP 为代理机本地的 IP 地址。

主控机的服务也需要启动,windows 下的只需要运行 jmeter-server.bat 文件。

2.主控机配置
同样的方式修改 jmeter\bin\jmeter.properties,添加代理机 IP 和端口(jmeter 的默认端口是 1099),多个代理机之间用英文 “,” 分开。

remote_hosts=127.0.0.1:1099,192.168.37.128:1099

关闭 SSL 服务。
server.rmi.ssl.disable=true

在主控机启动 jmeter,可以发现在 “启动”\“远程启动” 菜单中可以看到我们配置的主控机和代理机。

3.执行分布式性能测试脚本
打开脚本,例如线程数设为 10;
点击 “启动”\“远程启动所有”,不要点击工具栏上的三角形启动(这个只能执行当前机器上的线程数)。

通过汇总报告,发现执行的是 20 个样本请求,是两台机器的数据汇总计算。

共收到 2 条回复 时间 点赞

写的不错,给你个赞!
既然是高并发分布式性能测试,举例是不是该模拟 100 W 个用户并发?

纯靠 JMeter 的话 还是建议一主带四从 如果并发或 QPS 要求大于上限后 可以考虑更换 Gatling 引擎 自己引入分布式任务调度做水平扩展 支撑更大并发/QPS 的压测场景需求

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册