新闻详情

新闻详情

首页 / 资讯中心 / 详情

从curl到Hey:如何把一个调试请求改造成可复用的压测用例

发布时间:2026/10/1 1:14:43来源:尧图网络
从curl到Hey:如何把一个调试请求改造成可复用的压测用例
从curl到Hey如何把一个调试请求改造成可复用的压测用例【免费下载链接】heyHTTP load generator, ApacheBench (ab) replacement项目地址: https://gitcode.com/GitHub_Trending/he/heyHey 是一个开源的 HTTP 压测工具HTTP load generator定位是 ApacheBenchab的替代品。它能把你平时用 curl 调试好的单个请求改造成可复用的压测用例并发发压、限流、输出响应时间直方图和百分位延迟分布。为什么选择 hey 做压测工具相比 ApacheBenchhey 的优势在于上手快一条命令即可对指定 URL 发起压测默认 200 个请求、50 个并发 worker统计细内置响应时间直方图、百分位延迟分布、DNS/TCP/读写各阶段耗时贴近真实支持自定义请求头、POST body、Basic 认证、HTTP/2、限流 QPS轻量部署Go 语言编写无 CGO 依赖可直接编译或用 Docker 运行见 Dockerfile 与 Makefile如果你还没有安装可以克隆源码后自行构建git clone https://gitcode.com/GitHub_Trending/he/hey cd hey go build -o hey hey.go第一步把 curl 调试请求拆成三个部分假设你调试接口时常用的 curl 命令是这样的curl -X POST https://api.example.com/orders \ -H Content-Type: application/json \ -H Authorization: Bearer token \ -d {sku:A-101,qty:2}把它拆成三要素正好对应 hey 的参数组完整参数定义见 hey.gocurl 要素对应 hey 参数说明-X POST-m POST指定 HTTP 方法-H ...-H ...可重复自定义请求头-d {...}-d ...请求体内容内容类型-T默认text/htmlJSON 需改为application/json改造后的第一条 hey 压测用例hey -m POST \ -T application/json \ -H Authorization: Bearer token \ -d {sku:A-101,qty:2} \ -n 10 -c 2 \ https://api.example.com/orders 小贴士如果请求体是文件比如一大段 JSON用-D ./payload.json从文件读取比写在命令行更干净。第二步选择压测模式——总请求数还是持续时长hey 提供两种典型的压测方式固定请求数模式-n -c-n总请求数默认 200-c并发 worker 数默认 50注意-n不能小于-c适合回归验证、版本对比等需要「同样总量」的场景。固定时长模式-zhey -z 30s -c 50 https://api.example.com/orders按持续时间压测如 30 秒、3 分钟此时-n会被忽略。适合观察服务在持续流量下的稳定性。限流压测-q如果只想以 10 QPS/worker 的温和速率压测hey -q 10 -c 5 -z 30s https://api.example.com/orders更多可选项超时-t、HTTP/2-h2、代理-x等都在 README.md 的 Usage 一节里有完整说明。第三步看懂 hey 的输出报告压测结束后hey 会打印一份人类可读的摘要报告报告模板见 requester/print.go统计逻辑见 requester/report.goSummary总耗时、最快/最慢/平均响应时间、Requests/sec每秒处理请求数Response time histogram响应时间分布直方图肉眼就能看出延迟是「尖峰」还是「长尾」Latency distribution50% / 75% / 90% / 95% / 99% 等百分位延迟——排障时优先看 P99Details把单次请求拆成 DNS 解析、TCP 建连、请求写出、等待响应、读取响应五个阶段快速定位瓶颈在哪个环节Status code distribution状态码分布一眼发现 4xx/5xx 是否异常增多第四步把用例沉淀下来持续对比压测用例的价值在于复用。两个实用技巧1. 导出 CSV 便于二次分析hey -o csv -z 30s https://api.example.com/orders run1.csvCSV 每行包含单次请求的各阶段耗时与状态码方便和上一轮结果对比量化新版本改动的影响。2. 用 Docker 固定压测环境项目自带 Dockerfile构建出的镜像极小且免安装保证团队内压测环境一致docker build -t hey . docker run --rm hey -z 30s https://api.example.com/orders常见坑与注意事项 ⚠️-n小于-c会直接报错退出参数校验逻辑见 hey.go指定-z后-n失效别以为两者叠加生效发 JSON 时记得-T application/json默认内容类型是text/html可能导致服务端直接拒绝对生产环境压测请谨慎限流-q并先与相关团队确认避免误伤真实用户需要关闭 keep-alive 或跟随重定向时可用-disable-keepalive、-disable-redirects控制行为总结把 curl 调试请求改造成 hey 压测用例只需四步拆分要素方法、请求头、请求体对应-m、-H、-d选定模式总量模式-n -c或持续模式-z必要时加-q限流读报告关注 Requests/sec、P99 延迟和各阶段耗时分布沉淀复用-o csv留档对比Docker 固化环境一条命令即可从「调通了」走向「量得准」这就是 hey 作为 HTTP 压测工具的核心价值。【免费下载链接】heyHTTP load generator, ApacheBench (ab) replacement项目地址: https://gitcode.com/GitHub_Trending/he/hey创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ebook2audiobook(E2A)实践指南:从电子书到有声书的全流程配置与 CLI/Docker 部署详解 2026/10/1 2:13:00

ebook2audiobook(E2A)实践指南:从电子书到有声书的全流程配置与 CLI/Docker 部署详解

AI 应用语音音频本地部署 【免费下载链接】ebook2audiobook Generate audiobooks from e-books, voice cloning & 1158 languages! 项目地址: https://gitcode.com/GitHub_Trending/eb/ebook2audiobook 点击查看 免费下载 本文围绕开源项目 ebook2audiobook&am…

阅读更多 →
用 Rust 运行 BERT 句向量推理:candle 示例的句子嵌入与相似度计算实战指南 2026/10/1 2:13:00

用 Rust 运行 BERT 句向量推理:candle 示例的句子嵌入与相似度计算实战指南

人工智能大模型机器学习深度学习本地部署模型推理服务 【免费下载链接】candle Minimalist ML framework for Rust 项目地址: https://gitcode.com/GitHub_Trending/ca/candle 点击查看 免费下载 candle 是一个用 Rust 编写的极简机器学习框架,本文以仓…

阅读更多 →
TpmInit.exe丢失别重装:系统文件修复完整指南 2026/10/1 2:12:59

TpmInit.exe丢失别重装:系统文件修复完整指南

1. 当 TpmInit.exe 文件缺失,别急着重装系统先说结论:TpmInit.exe 是 Windows 系统里跟“可信平台模块(TPM)”相关的一个初始化进程,一般位于 C:\Windows\System32 目录下。它负责在系统启动阶段配合主板上的 TPM 芯片…

阅读更多 →
链表面试必刷7题:反转、回文、环检测与归并排序全解析 2026/10/1 2:12:59

链表面试必刷7题:反转、回文、环检测与归并排序全解析

前两天帮一个应届学弟做模拟面试,他把剑指offer刷了两遍,结果第一道反转链表就卡住了——不是不会写,是边边角角的空指针处理让他心里没底。这个场景我见过太多次了。链表在技术面试里的地位很特殊:它不像动态规划那样依赖数学直觉…

阅读更多 →
ShardingSphere 分库分表 + 读写分离 2026/10/1 2:12:53

ShardingSphere 分库分表 + 读写分离

目录 1.pom.xml配置 2.配置分库分表规则 2.1.创建实体类和Mapper接口 2.2.测试分库分表 3.配置读写分离规则 3.1.测试读写分离 4.分库分表 读写分离 方案一:分库分表 读写分离整合配置 方案二:使用读写分离数据源作为分片数据源 注意事项&…

阅读更多 →
Windows 终端 AI 编程实战:Codex CLI 接入 DeepSeek API 全流程配置指南 2026/10/1 2:12:53

Windows 终端 AI 编程实战:Codex CLI 接入 DeepSeek API 全流程配置指南

1. 为什么要在 Windows 上折腾 Codex CLI 加 DeepSeek API 这套组合很多人第一次听到"在终端里跑 AI 编程助手"这件事,第一反应是:我直接用网页版不香吗?我一开始也这么想,直到我在一个没有图形界面的远程开发环境里&am…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉