http 并发测试工具 (http-little-toy) v0.0.3 发布
source link: https://studygolang.com/articles/35969?fr=sidebar
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
http-little-toy
一个简单的 http
并发测试工具。
新增记录请求响应作为日志
新增支持命令行设置 Http header
README.md
如果喜欢就star⭐️一下吧,让它沉睡在你的收藏库里。
https://github.com/leihenshang/http-little-toy
https://gitee.com/leihenshang/http-little-toy
灵感来源于 github
上各种版本的 wrk
http并发测试工具,有一天看了一个go写的版本,就这?我也能行啊。我自己也造一个轮子吧。orz.
造轮子好玩吗? 真好玩!
[x] 命令行中加入设置
header
头[x] 命令行中加入设置
body
负载[ ] 完善一下
request.json
请求文件的逻辑[x] 添加记录响应数据日志的功能,方便分析
一般使用 -d 控制请求时间(秒),-t 控制线程数(当做用户数量来理解)就可以了。
还能使用request.json文件,你不用重新编写命令参数了,不过可能还有点小问题,在完善中。
$ http-little-toy -h
Usage: httpToy <options>
Options:
-H
The http header. --default=[].
-allowRedirects
allowRedirects. --default=true.
-body
The http body. --default="".
-caCert
caCert. --default="".
-clientCert
clientCert. --default="".
-clientKey
clientKey. --default="".
-compression
Use keep-alive for http protocol. --default=true.
-d
Duration of request.The unit is seconds. --default=0.
-f
specify the request definition file. --default="".
-gen
generate the request definition file template to the current directory. --default=false.
-h
show help tips. --default=false.
-keepAlive
Use keep-alive for http protocol. --default=true.
-log
record request log to file. default: './log' --default=false.
-skipVerify
TLS skipVerify. --default=false.
-t
Number of threads. --default=0.
-timeOut
the time out to wait response. --default=1000.
-u
The URL you want to test. --default="".
-useHttp2
useHttp2. --default=false.
-v
show app version. --default=false.
直接使用
go install github.com/leihenshang/http-little-toy
,再把你的go/bin
放到环境变量里,使用http-little-toy
带上参数,起飞吧,骚年。手动编译成二进制文件直接运行,可以放到全局变量中直接从命令行中执行。
# 把项目编译成可执行文件并输出到当前目录
go build -o httpToy
执行测试命令
# 使用纯命令
./httpToy -d 10 -t 80 -u http://127.0.0.1:9090
# or
# 使用请求文件
./httpToy -d 10 -t 80 -f request_sample.json
# 使用test-server
go run . -u http://localhost:9090 -H aaa:bbbb -H ccc:ddd -body "hhhhh2333333" -d 2 -t 1
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK