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


http-little-toy

更新日志

新增记录请求响应作为日志

新增支持命令行设置 Http header

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

仓库地址

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

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

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

介绍

灵感来源于 github 上各种版本的 wrk http 并发测试工具,有一天看了一个 go 写的版本,就这?我也能行啊。我自己也造一个轮子吧。orz.

造轮子好玩吗?

真好玩!

todo

√ 命令行中加入设置 header 头

√ 命令行中加入设置 body 负载

完善一下 request.json 请求文件的逻辑

√添加记录响应数据日志的功能,方便分析

使用

一般使用 -d 控制请求时间 (秒),-t 控制线程数(当做用户数量来理解)就可以了。

还能使用 request.json 文件,你不用重新编写命令参数了,不过可能还有点小问题,在完善中。

http-little-toy -h
Usage: http-little-toy <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=10.
	-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 	
		 Log the request response to file. default: './log' --default=false.
	-skipVerify 	
		 TLS skipVerify. --default=false.
	-t 	
		 Number of threads. --default=10.
	-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

 


相關推薦

2022-11-29

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 更新

2022-09-26

gosearch v0.0.3 发布了,一款快速搜索三方依赖包并且在当前工程安装的工具。 安装方式 go get github.com/clearcodecn/gosearch 此次为首次发布,内部基于 leveldb 缓存,首次从 api 获取,第二次可以很快的安装某个包, 欢迎安装使用

2023-11-25

这个发布版本主要集中在稳定性改进方面: 改进持续集成(CI)流程并为每个拉取请求(PR)实施端到端(E2E)测试。 引入追踪和性能分析,并收集更多的指标数据。 提升s3stream的性能。 修复一些bug。 关于我们 AutoMQ

2022-08-24

Puma 是一个简单、快速、线程化并且关注高并发的 HTTP 1.1 服务器,适用于开发和生产中的 Ruby/Rack 应用。 Puma 5.6.5 发布了,这是一个修复版本,带来如下变更: NullIO#close 应该返回 false  [ #2883 ] Puma::ControlCLI - 允许将 refork

2022-10-21

Puma 是一个简单、快速、线程化并且关注高并发的 HTTP 1.1 服务器,适用于开发和生产中的 Ruby/Rack 应用。 Puma 6.0.0 现已发布,该版本更新内容如下: Breaking Changes 放弃对 Ruby 2.2 和 2.3 的支持(现在是 2.4+)([ #2919 ]

2022-05-21

年 Golang 的发展很猛烈,比如使用 gin 框架就可以实现高并发能力的微服务应用,更是这几年的发展 NodeJS 写服务端的也是越来越多,尤其是 ExpressJS 这优秀的 API 设计让更多人在做服务端开发选型的时候选择了他们。 今天我们的

2023-12-02

此漏洞被称为 HTTP/2 Rapid Reset Attack,它绕过了服务器对并发流的限制,因为重置流的处理速度比新流的建立速度快,因此可能允许攻击者使服务器过载。(CVE-2023-4487) OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集

2023-06-04

框架提供开箱即用 admin 管理后台 这版主要是修改大并发问题,如果用户线程忙不过来,就添加用户线程,这样保持网站畅通。 1.4.0开启额外警告后,很多warning unused 主要是定义了没有使用,特别是在ORM时候, 因为有些表

2023-08-31

o完成的这些生态成果吧 TiOMQ Meter:对标xmeter的mqtt压力测试工具 TiO Network Debug:用t-io和swing完成的网络调试工具(可直接在工具上写代码,实时生效) TioDoc:t-io版api文档工具 t-io订阅树:略 TiOMQ OS:用t-io

2023-12-21

式 ✅17. 框架内置通用数据缓存模块,ORM结果缓存,提高并发能力 ✅18. 框架controller目录注解功能,方便添加URL路由映射,降低入门心智 ✅19. 结构和类注解JSON功能,使用json_encode json_decode操作复杂C++结构体和JSON互转,可以参考W

2023-04-08

分别建立Message和Byte高低优先级队列,确保在消息和字节并发的情况下,优先保障消息队列的数据发送,同时也能保障Byte得到有效传输,避免了在字节数据拥塞的情况下,消息数据不能及时传输。 在支持RAW流的基础上,支持C

2023-10-16

因为在 HTTP2 中,每个请求的开销仍然非常大,并且存在并发限制,此外还会出现瀑布流和低效压缩。 目前,“打包”对于高性能网站来说是无法绕过的。 via https://twitter.com/cramforce/status/1712265070213050390 DHH 不认可 Malte

2023-07-18

绍 Rust是近年来新兴的系统级编程语言,专注于安全性、并发性和性能。Rust拥有丰富的类型系统和所有权模型,可通过在编译时检查内存访问和并发问题,保证内存安全和线程安全。Rust在构建并行和分布式应用程序时具有优良

2023-05-25

r Sysoev 开发,现在由 Nginx Inc. 进行维护。Nginx 可以处理高并发的连接请求和数据传输,同时拥有出色的稳定性和高可靠性。 Nginx 的优势在于其高效的内存管理和事件驱动模型。它能够支持更多的并发连接,而且在高负载情况下