目录
前言:
Locust 是一种开源的性能测试工具,可以帮助我们快速地进行网站、应用程序等的性能测试和压力测试。Boomer 是一种开源的自动化测试工具,可以帮助我们更加方便地进行测试和调试工作。在 Docker 中使用 Locust 和 Boomer 可以帮助我们更加方便地进行测试和调试工作,并且可以更加灵活地进行测试环境的搭建和部署。
背景
在压测时,使用 locust + boomer,需要配置 python 和 go 环境,稍微有点麻烦。
每次接口压测,都需要手动编写 go 脚本。
因此想做对 boomer 做一个封装,可以快速的完成这些需求,需要支持单接口 + 动态读取 csv,curl 命令
启动 Locust-master
# run locust master
docker run --name locust-master -it -d -p 8089:8089 -p 5557:5557 rikasai/locust-master:latest
Boomer
调试模式启动 boomer
$ docker run rikasai/boomer:latest --run-tasks worker -master-host=10.0.20.16 --url='http://httpbin.org/post' --method=POST --content-type="application/json" --raw-data='{"ids": [123,234]}'
--verbose 1
2022/05/17 13:30:44 /usr/src/app/boomer_fasthttp.go:295: Fasthttp is running with these args:
method: POST
url: http://httpbin.org/post
timeout: 10s
post-file:
raw-data: {"ids": [123,234]}
replace-str-index:
json-value-type:
content-type: application/json
disable-keepalive: false
remove-json-string-backslash: true
verbose: true
2022/05/17 13:30:44 /go/pkg/mod/github.com/myzhan/boomer@v1.6.0/boomer.go:214: Running worker
2022/05/17 13:30:44 /usr/src/app/boomer_fasthttp.go:211: resp: {
"args": {},
"data": "{\"ids\": [123,234]}",
"files": {},
"form": {},
"headers": {
"Content-Length": "18",
"Content-Type": "application/json",
"Host": "httpbin.org",
"User-Agent": "fasthttp",
"X-Amzn-Trace-Id": "Root=1-6283a384-7d87389417a84df642