http 并发测试工具 (http-little-toy) v0.0.3 发布

tangzq · · 1563 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

# http-little-toy 一个简单的 `http` 并发测试工具。 #### 更新日志 1. 新增记录请求响应作为日志 2. 新增支持命令行设置 Http header #### README.md [⭐️README.MD⭐️ En](README.en.md) #### 仓库地址 如果喜欢就star⭐️一下吧,让它沉睡在你的收藏库里。 [https://github.com/leihenshang/http-little-toy](https://github.com/leihenshang/http-little-toy) [https://gitee.com/leihenshang/http-little-toy](https://gitee.com/leihenshang/http-little-toy) #### 介绍 灵感来源于 `github` 上各种版本的 `wrk` http并发测试工具,有一天看了一个go写的版本,就这?我也能行啊。我自己也造一个轮子吧。orz. 造轮子好玩吗? 真好玩! #### todo - [x] 命令行中加入设置 `header` 头 - [x] 命令行中加入设置 `body` 负载 - [ ] 完善一下 `request.json` 请求文件的逻辑 - [x] 添加记录响应数据日志的功能,方便分析 #### 使用 一般使用 -d 控制请求时间(秒),-t 控制线程数(当做用户数量来理解)就可以了。 还能使用request.json文件,你不用重新编写命令参数了,不过可能还有点小问题,在完善中。 ```bash $ 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. 手动编译成二进制文件直接运行,可以放到全局变量中直接从命令行中执行。 #### 手动编译 ```bash # 把项目编译成可执行文件并输出到当前目录 go build -o httpToy ``` #### 执行测试命令 ```bash # 使用纯命令 ./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 ```

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1563 次点击  ∙  1 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传