http-little-toy v0.0.4-preview 更新

tangq發表於2022-11-28

一個簡單的 http 併發測試工具。

更新

v0.0.4

  • 重構專案main,拆分解耦邏輯

  • 重構引數驗證,刪除 -d-t 的強制驗證

  • 新增 User-Agent 標識 http-little-toy [version]

  • 完善請求檔案邏輯,請求檔案優先順序 > 命令列引數

README.md

⭐️README.MD⭐️ En

倉庫地址

如果喜歡就star⭐️一下吧,讓它沉睡在你的收藏庫裡。

github.com/leihenshang/http-little...

gitee.com/leihenshang/http-little-...

介紹

靈感來源於 github 上各種版本的 wrk http併發測試工具,有一天看了一個go寫的版本,就這?我也能行啊。我自己也造一個輪子吧。orz.

造輪子好玩嗎?

真好玩!

特性

  • 命令列中加入設定 header

  • 命令列中加入設定 body 負載

  • 完善一下 request.json 請求檔案的邏輯

  • 新增記錄響應資料日誌的功能,方便分析

  • 新增 http agent 識別tag

使用

一般使用 -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.

安裝教程

  1. 直接使用 go install github.com/leihenshang/http-little-toy ,再把你的go/bin放到環境變數裡,使用 http-little-toy 帶上引數,起飛吧,騷年。

  2. 手動編譯成二進位制檔案直接執行,可以放到全域性變數中直接從命令列中執行。

手動編譯

linux & mac


# 把專案編譯成可執行檔案並輸出到當前目錄

go build -o http-little-toy

## 根據系統選擇

# linux

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/http-little-toy

# windows

CGO_ENABLED=0 GOOS=windowd GOARCH=amd64 go build -o bin/http-little-toy

# mac

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o bin/http-little-toy

windows


# Mac

SET CGO_ENABLED=0

SET GOOS=darwin

SET GOARCH=amd64

go build -o bin/http-little-toy

# Linux

SET CGO_ENABLED=0

SET GOOS=linux

SET GOARCH=amd64

go build -o bin/http-little-toy

執行測試命令


# 使用純命令

 ./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 協議》,轉載必須註明作者和本文連結
tangq

相關文章