更新日誌
- 新增記錄請求響應作為日誌
- 新增支援命令列設定Http header
一個簡單的 http
併發測試工具。
README.md
倉庫地址
如果喜歡就star⭐️一下吧,讓它沉睡在你的收藏庫裡。
github.com/leihenshang/http-little...
gitee.com/leihenshang/http-little-...
介紹
靈感來源於 github
上各種版本的 wrk
http併發測試工具,有一天看了一個go寫的版本,就這?我也能行啊。我自己也造一個輪子吧。orz.
造輪子好玩嗎?
真好玩!
todo
-
命令列中加入設定
header
頭 -
命令列中加入設定
body
負載 -
完善一下
request.json
請求檔案的邏輯 -
新增記錄響應資料日誌的功能,方便分析
使用
一般使用 -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
本作品採用《CC 協議》,轉載必須註明作者和本文連結