1、 通过多机负载扩展支持海量压力
HttpRunner v4.2 起,hrp 可支持 master (负载控制器) 与 worker (压力生成器) 模式下启动,基于「一主多从」的负载加压模式实现海量并发。
功能特性
支持使用 auto-start / http-api 控制压测流程
支持任务自动下发(e.g. 参数化、自定义函数)
支持动态调整worker节点的并发用户数,(当前策略:全部 worker 均分并发用户数)
支持指定循环次数
支持 worker 常驻、不退出策略,自动重连,且无需关心 master 与 worker 启动顺序
支持在开始性能测试时更改 prometheus-gateway 地址
架构图
总体框架
2、 启动master 自动模式
hrp boom testcases --master --auto-start --master-bind-host localhost --master-bind-port 5557 --expect-workers 2 --expect-workers-max-wait 120 --spawn-count 100 --spawn-rate 100 --prometheus-gateway ":9091"
说明:
–master-bind-host 与 –master-bind-port 为 master 提供 worker 连接的地址,默认: 0.0.0.0 与 5557
–auto-start 设置自动开始,需指定 –expect-workers、–expect-workers-max-wait 两个参数设置自动开始条
件与等待超时时间
–spawn-count、 –spawn-rate 与 –prometheus-gateway 等可设置的运行配置与单机默认一致
3、 启动worker
worker启动时,无需配置任何性能测试运行参数,运行参数全部从 master 端获取。
hrp boom --worker --master-host localhost --master-port 5557 --ignore-quit
说明:
–master-host、–master-port 为 master 提供 worker 连接的地址,默认: 0.0.0.0 与 5557
–ignore-quit 添加后会忽略 master 的 quit 信号,在 master 再次启动后,worker 自动重接