您现在的位置是:首页 > 文章详情

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

日期:2022-11-28点击:315

2022/11/28

http-little-toy

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

README.md

⭐️README.MD⭐️ En

仓库地址

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

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

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

更新

v0.0.4

  • 重构项目main,拆分解耦逻辑
  • 重构参数验证,删除 -d-t 的强制验证
  • 添加 User-Agent 标识 http-little-toy [version]
  • 完善请求文件逻辑,请求文件优先级 > 命令行参数

介绍

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

Bash

 

安装教程

  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

Bash

 

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

text

 

执行测试命令

# 使用纯命令
 ./httpToy -d 10 -t 80 -u http://127.0.0.1:9090

# or

# 使用请求文件
./httpToy -d 10 -t 80 -f request_sample.json

Bash

 

# 使用test-server
 go run . -u http://localhost:9090 -H aaa:bbbb -H ccc:ddd -body "hhhhh2333333" -d 2 -t 1

Bash

 

 

原文链接:https://www.oschina.net/news/219715
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章