基于 locust/boomer 为核心的简单 http 接口分布式性能测试工具

目标

构建一个分布式的 Http 接口的压力测试平台,核心基于开源的 locust,因为 python 的压测能力较低,slaver 端采用开源的用 go 改写的 boomer。
原版需要提供完整的 go 脚本/python 脚本,一次一用,对他人使用难度大。
设想可以提供 postman 类似的界面来构造接口描述信息,由 master 推送给各个 worker。
各个 worker 解析接口描述信息生成满足 boomer 要求的请求并运行。
通过 locust 的 api 获取指标信息,可以绘制实时折线图(可以改造为 推送 prometheus,配合 grafana 查看历史记录)
想要达到分担压力测试的 worker 可随意增加的目的,所以 master(flask)需要自动发现 woker(boomer)的功能
因为为了日后官方更新后好维护,不想改动 locust 源码和 boomer 源码。
只想在其上层包装,那 master 端依然 python 改写,slaver 依然使用 go 改写。要解决两者信息传递问题。
无责任草图


完成的结果

  • 有 1 个类似 Postman 一样的事务管理页面:
    • 可以设置全局代理是全局 session
    • 可以设置全局性的前置步骤(其实就是请求链,比如:先获取 token 并保存参数,再带上此 token 参数提交登录请求)
    • 可以编写并行的事务及对应权重,
    • 每个事务也可编写事务内前置请求链及需要测试的 API 请求
    • 提供多种参数保存方式(xpath 解析 html、json 字段获取、正则获取、固定字符串...)
    • 保存好事务,或备份事务到本地
  • 提供压测机管理页面
    • 提供编译好的压测端(window64,linux64,注:macOS 的在文件夹 slaveEXE 中)下载
    • 按照说明(见 readme)执行压测命令(页面上的我写死了 ip,勿理会)
    • 将事务保存后,选择压测端提交
  • 剩余就和原 locust 的操作一致了
  • 只是实现了简单的有 UI 的事务管理及分布式压测器管理,其他的没做

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酔清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值