http-little-toy(一个go编写Http并发测试工具)

http-little-toy

一个简单的 http 并发测试工具。

仓库地址

如果喜欢就star⭐️一下吧,让它沉睡在你的收藏库里。

https://github.com/leihenshang/http-little-toy

https://gitee.com/leihenshang/http-little-toy

介绍

灵感来源于 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.

安装教程
  1. 直接使用 go install github.com/leihenshang/http-little-toy ,再把你的go/bin放到环境变量里,使用 http-little-toy 带上参数,起飞吧,骚年。

  2. 手动编译成二进制文件直接运行,可以放到全局变量中直接从命令行中执行。

手动编译
# 把项目编译成可执行文件并输出到当前目录
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值