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


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

 

 


相關推薦

2022-11-22

http-little-toy 更新日志 新增记录请求响应作为日志 新增支持命令行设置 Http header 一个简单的 http 并发测试工具。 仓库地址 如果喜欢就 star⭐️一下吧,让它沉睡在你的收藏库里。 github.com/leihenshang/http-little... gitee.com/leihens

2024-08-08

众所周知,Apple 支持每个版本的 macOS 整整一年的更新,然后再提供两年的安全更新。但它对每个型号的固件支持多长时间?现在更新 Mac 固件的唯一方法是安装 macOS 更新,这会如何影响支持期?本文试图回答这些问题,并在此

2022-11-18

SaToken+EasyTrans ,发布以来一直维护着客户的使用,不断的更新,更新频率也是越来越快,此次发版V2.1.2主要更新了以下内容: 1、【更新】修复阿里云上传文件地址返回错误,修复文件key构造错误 2、【更新】更新前端依赖,固

2023-11-14

及服务自动注册和发现。Apache Dubbo 3.2.8 现已发布,具体更新内容包括: Feature 支持 heartbeat for triple protocol #12955 Jboss@Form支持 #13201 Multiple Registry 支持 Service Discovery #13137 错误修正 当处理 onData 失败时释

2023-12-06

Simple Admin Go 语言分布式后台管理系统 v1.2.4 更新 项目介绍 Simple Admin 是一个开箱即用的分布式微服务后端管理系统,基于go-zero开发,为开发中大型后台提供了丰富的功能,支持三端代码生成。 官方自带多种扩展,助力中小企

2023-11-02

AMH7.1是AMH7的更新优化版本,AMH7.1已经支持纯ipv6服务器安装使用, 7.1新版本做了很多优化相比7.0更快更轻,面板运行速度比旧版本至少提高一倍以上, 在同等性能服务器有些原先响应需0.16s现降至0.07s左右(面板页脚可看执行时

2023-09-13

及服务自动注册和发现。Apache Dubbo 3.2.6 现已发布,具体更新内容包括: Feature gson 的通用调用支持 null args #12832 支持检查 qos 服务器是否启动 #12952 为服务接口添加 metrics initialization metrics(#12850)#12892 支持 ign

2023-07-24

主要更新: 焰火十二卷 v2.8.40 中修复了 Linux 上的 Fcitx5 输入错误(适用于 Fcitx5),增强了 Linux 用户的使用体验。   其他更新: 修复 Linux 上的 Fcitx5 输入错误(适用于 Fcitx5)。 更改按钮图标。 更新致谢信息。

2023-05-18

及服务自动注册和发现。Apache Dubbo 3.2.1 现已发布,具体更新内容包括: Feature 添加跟踪启动器 && 添加 zipkin 自动配置 #12013 QoS 支持匿名命令允许列表 #12082 收集 No Provider Request count #12158 支持可打包

2022-10-20

为这些设备和服务提供一致的平台,并增强微软在 Linux 更新方面与时俱进的能力。 CBL-Mariner 2.0 版本 2022 年 10 月更新内容包括: 新增 增加了生成 livepatch 包的自动化 添加 csi-driver-lvm。 添加 git-lfs 并将 rubygem-ronn 依赖项

2024-06-16

Simple Admin - Go 语言分布式后台管理系统 v1.4.6 更新 项目介绍 Simple Admin 是一个开箱即用的分布式微服务后端管理系统,基于 go-zero 开发,为开发中大型后台提供了丰富的功能,支持三端代码生成。 官方自带多种扩展,助力中小

2023-10-08

及服务自动注册和发现。Apache Dubbo 3.2.7 现已发布,具体更新内容包括: Feature Dubbo 现已正式支持 JDK 21 #13083 支持禁用 metrics init 和 sync  #13025 支持 service level metrics #13033 添加 metrics version compare 以提

2023-08-10

及服务自动注册和发现。Apache Dubbo 3.2.5 现已发布,具体更新内容包括: Feature ByteAccessor 支持自定义 RpcResult #12642 Resteasy filter&intercept 支持 #12492 Rest 协议支持集合、映射和数组 json 的通用反射类型 #12732

2023-11-09

Simple Admin Go 语言分布式后台管理系统 v1.2.2 更新 项目介绍 Simple Admin 是一个开箱即用的分布式微服务后端管理系统,基于go-zero开发,为开发中大型后台提供了丰富的功能,支持三端代码生成。 官方自带多种扩展,助力中小企