1.使用原因如果并发数比较大的情况下例如项目需要10000并发单台电脑和CPU可能无法支持这时可以使用jmeter的分布式。2.分布式原理选择一台控制机和其他机器作为代理机。执行时控制机会把脚本发送到每台代理机代理机然后开始执行脚本代理机执行不需要启动jmeter的页面执行结束后代理机会把结果回传给控制机控制机就会手机代理机的信息并汇总。3.代理机agent1.agent代理机上需要安装jmeter 2.修改服务端口 tips:如果在同一台机器上需要修改端口多台机器不可修改 2.1 打开bin目录下的jmeter.properites 将server_port改为sever_port3001 3.将RMI SSL设置为禁用 3.1打开bin目录下的jmeter.properites文件修改为server.rmi.ssl.disabletrue 4.运行agent代理机上的jmeter.sever.bat文件启动jmeter4.控制机1.修改jmeterbin目录下的jmeter.properties文件修改 remote_hosts127.0.0.1:3001,127.0.0.1:3002 工作中使用真实ip即可 2.同上将RMI ssl设置为禁用 .修改jmeterbin目录下的jmeter.properties文件 .server.rmi.ssl.disabletrue 3.启动jmeter 4.运行菜单栏----运行---远程启动---远程全部启动例子示例1.在桌面新建----文件取名为分布式测试---在里面新建两个文件夹---取名为执行机---控制机2.打开执行机文件夹---新建执行机A---执行机B3.找到自己的jmeter安装包文件---复制三份分别到控制机和两个执行机中4.1打开执行机A的bin目录下的jmeter.properties文件---修改erver_port改为sever_port30014.2打开bin目录下的jmeter.properites文件修改为server.rmi.ssl.disabletrue5.执行机B5.1打开执行机A的bin目录下的jmeter.properties文件---修改erver_port改为sever_port30025.2.4.2打开bin目录下的jmeter.properites文件修改为server.rmi.ssl.disabletrue记得保存6.控制机的配置打开控制机机文件下的bin目录的jmeter.properites文件修改为remote_hosts127.0.0.1:3001,127.0.0.1:3002(此处为两个代理机的端口号注意中间是英文逗号)6.2打开bin目录下的jmeter.properites文件修改为server.rmi.ssl.disabletrue记得保存7.准备工作完毕分别打开控制机A和b的bin目录下的jmeter-server.bat以管理员身份打开8.控制机找到文件---控制机---bin目录下的jmeter.bat双击打开即可9.小案例执行以百度网页为例https://www.baidu.com9.1 新建测试计划----右键---添加线程---线程组---线程数量设置为300RAMP-UP设置为30秒9.2小知识1.Ramp-Up 时间表示 JMeter 启动所有线程虚拟用户所花费的总时长。线程数 300Ramp-Up 30 秒 → 平均每秒启动 10 个线程如果 Ramp-Up 1 秒 → 平均每秒启动 300 个线程瞬间全压上去2.为什么有时候需要较大的 Ramp-Up比如 30 秒2.1. 模拟真实用户的到达模式真实用户在访问系统时是逐渐增多的比如早上 9 点开始上班10 点达到高峰。用 30 秒甚至几分钟的 Ramp-Up可以让负载平缓上升更接近现实场景。2.2. 避免“瞬时冲击”导致假性瓶颈如果把 300 个线程在 1 秒内全部启动服务器瞬间收到大量连接请求可能因为 TCP 连接队列溢出、线程池瞬时爆满而拒绝服务或响应时间飙升。这种“瞬间冲击”往往掩盖了系统在平稳负载下的真实性能比如你只是想测 300 并发下的吞吐量但瞬间启动可能导致提前崩溃测出来的结果偏低。用一个较长的 Ramp-Up比如 30 秒可以让系统有时间分配资源建立连接、初始化线程池从而测得稳定并发下的真实能力。9.3右键线程组----添加---取样器---http请求9.4 右键线程组-----添加-----监听器----聚合报告9.5 执行菜单栏 ---- 运行----运行所有9.6运行成功