Releases: kite88/y-http-bench
Releases · kite88/y-http-bench
Release list
v1.0.0
首个版本:纯 Go 标准库实现的 HTTP 压测工具,单文件、零依赖、开箱即用。
能力
- 三种压测方式:固定请求数
-n、固定时长-d,两者同时给定则先到先停 -qps全局限速:绝对时间表调度,不受 Windows 定时器精度(约 15.6ms)的限制- 可配置请求:任意方法、
-H自定义头(可重复)、-body/-body-file、支持 HTTP/2、-insecure跳过证书校验 - 报告:总请求数 / 失败数 / 成功率 / 平均 QPS / 吞吐量,延迟 Min · Avg · P50 · P90 · P95 · P99 · P99.9 · Max,以及状态码分布与错误分布
-dump-latency:流式导出逐请求 CSV(latency_ms, status, bytes, error)- Ctrl+C 优雅停止,并基于已采集的样本照常输出报告
统计口径
- 延迟从请求发出算到读完响应体;限速模式下从该请求的「理想发出时刻」起算,修正 coordinated omission
- 延迟用直方图统计(固定 256KB 内存,不保留全量样本,与请求量无关)
- 网络层错误只计入失败数与错误分布,不参与延迟统计
产物
| 平台 | 归档 | 包内可执行文件 |
|---|---|---|
| Windows | y-http-bench-windows-<arch>.zip |
y-http-bench.exe |
| Linux / macOS / FreeBSD | y-http-bench-<os>-<arch>.tar.gz |
y-http-bench(权限 0755,解压即可运行) |
架构覆盖 amd64 / arm64 / 386 / armv7 / ppc64le / s390x / riscv64 / loong64,共 15 个平台。
checksums.txt 是全部 15 个归档的 SHA256(LF 换行,Linux 下可直接 sha256sum -c checksums.txt)。
注意
- 交叉编译使用
CGO_ENABLED=0,域名解析走 Go 自带的纯 Go 解析器(不读nsswitch.conf),个别内网域名的解析行为可能与本机构建不同 - 压测的是被测服务而非本机网络,尽量在与被测机同机房 / 内网的中立机器上运行
- 关注 P99 / P99.9 而不是平均值
完整用法与参数说明见 README。