Hey -D 从文件读取大请求体:大 Payload 负载测试实战完整教程
Hey -D 从文件读取大请求体大 Payload 负载测试实战完整教程【免费下载链接】heyHTTP load generator, ApacheBench (ab) replacement项目地址: https://gitcode.com/GitHub_Trending/he/heyhey 是一款轻量级 HTTP 负载测试工具ApacheBench/ab 的替代方案它的-D参数可以从文件读取大请求体让你轻松完成大 payload 负载测试。本教程带你快速掌握这一实用功能。为什么大 Payload 测试不能只用-dhey 默认用-d直接在命令行里写请求体hey -m POST -d param1value1param2value2 https://example.com这在测试表单、小 JSON 时很方便但遇到几 KB 甚至几 MB 的大 payload如长 JSON、批量上传数据就会遇到麻烦⚠️ 命令行长度受限超长参数容易报argument list too long⚠️ 大段内容含引号、换行、特殊字符转义容易出错⚠️ 参数难以复用和版本管理团队协作不便-D参数正是为解决这些痛点而生把请求体放进文件命令行只传一个文件路径简洁又可靠。快速上手安装 hey 并准备环境hey 是单文件 Go 程序安装非常简单# macOS 用户 brew install hey # 其他系统可克隆源码自行构建 git clone https://gitcode.com/GitHub_Trending/he/hey cd hey go build -o hey安装完成后执行hey即可看到完整的参数说明README.md 中也有收录。-D 大 Payload 负载测试一键操作第一步准备请求体文件把真实的大 payload 存成文本文件即可内容不限JSON、表单、任意二进制文本均可# 生成一个模拟的大 payload例如 1MB 的 JSON python3 -c print({\data\: \%s\} % (a * 1024 * 1024)) big_payload.json第二步用 -D 发起负载测试# 发 1000 个请求100 并发body 从文件读取 hey -m POST -D ./big_payload.json -n 1000 -c 100 \ -H Content-Type: application/json \ https://example.com/api/upload就这么简单——hey 会把整个文件读进内存之后每次请求都复用这份数据不会重复读盘。第三步看懂输出报告测试结束后 hey 会输出完整的性能报告重点关注这几项指标含义Status code distribution各状态码占比出现 413/500 说明 body 过大被拒绝Latency distribution延迟区间分布定位性能瓶颈响应时间均值 / 百分位大 payload 下 P95、P99 尤为关键报告逻辑实现在 requester/report.go百分位延迟分布由 requester/print.go 渲染输出。hey -D 工作原理为什么大文件也不拖慢测试核心实现在 hey.go启动时调用ioutil.ReadFile把文件一次性读入内存并写入Work.RequestBody随后 requester.go 中每个 worker 发请求前只通过 cloneRequest 复制一份轻量请求对象body 字节切片是共享的。这带来两个实际好处无 I/O 开销磁盘只读一次高并发下不会成为瓶颈Content-Length 精确hey.go 会按文件实际大小设置请求长度避免分块传输带来的性能损耗实战技巧-D 与其他参数组合按持续时间压测不确定发多少请求时用-z指定时长此时-n被忽略hey -m POST -D ./big_payload.json -c 50 -z 30s https://example.com/api限速压测用-q控制每秒请求数模拟真实流量曲线hey -m POST -D ./big_payload.json -q 10 -c 5 -z 60s https://example.com/api注意 Content-Type-T参数默认是text/html测 JSON 接口记得指定-T application/json或用-H显式设置。优先级提醒如果同时传了-d和-D以-D文件内容为准见 hey.go调试时别被旧参数迷惑。HTTP/2 场景加-h2可直接对比协议差异对大 payload 吞吐的影响。常见问题与避坑指南文件路径怎么写支持绝对路径和相对路径例如-D /home/user/payload.json或-D ./payload.json路径错误会直接报错退出。内存占用大吗文件会被整体加载到内存建议 payload 文件大小小于可用内存测几十 MB 级别完全无压力。响应体被丢弃了吗是的hey 会读取并丢弃响应内容requester.go统计的是请求-响应全过程延迟。能用 -D 测 GET 吗不建议。-D本质是构造请求体搭配-m POST/PUT使用最符合语义。总结hey 的-D参数让大 payload 负载测试从折腾转义变成一个文件搞定文件一次读入内存、逐请求高效复用配合-z时长压测和-q限速基本覆盖大请求体场景的常规需求。下次面对超大 body 的接口压测直接试试这一行命令吧更多参数细节可参考项目文档 README.md源码结构见 hey.go 与 requester/ 目录。【免费下载链接】heyHTTP load generator, ApacheBench (ab) replacement项目地址: https://gitcode.com/GitHub_Trending/he/hey创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

OpenShell实战:终端会话管理、命令复用与环境切换利器

OpenShell实战:终端会话管理、命令复用与环境切换利器

1. 项目概述与核心思路1.1 OpenShell到底解决什么问题如果你和我一样,日常工作里有大量时间泡在终端里,一定会有这样的体验:开了一排终端窗口,每个窗口跑着不同的任务,环境变量各不相同,日志文件滚屏刷得找…

2026/10/2 17:16:37 阅读更多 →
Agent 工具网关 MCP Server 搭建 + 记忆中心实现方案:用 TaoToken 统一 Key 打通调用链

Agent 工具网关 MCP Server 搭建 + 记忆中心实现方案:用 TaoToken 统一 Key 打通调用链

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:15:37 阅读更多 →
OpenShell:终端环境整合方案,让配置工程化、体验一致化

OpenShell:终端环境整合方案,让配置工程化、体验一致化

开篇:为什么你的终端总缺点什么如果你跟命令行打过交道,大概率有过这种体验:装了五花八门的工具,配了无数次环境变量,折腾了一堆插件,结果每天打开终端还是觉得差点意思——要么提示符丑得让人没有输入的欲…

2026/10/2 17:15:37 阅读更多 →

最新新闻

文献综述怎么写?paperxie三步填空法:从骨架到打磨的完整拆解

文献综述怎么写?paperxie三步填空法:从骨架到打磨的完整拆解

说实话,我见过太多人把文献综述写成“文献摘要大合集”:一篇综述交上来,一千字里能出现二十个“某某学者指出”,每段都是“A认为……B认为……C认为……”,读完全文记不住作者自己到底想说啥。本科 5000 字综述往往不是…

2026/10/2 17:58:59 阅读更多 →
RabbitMQ Connection 与 Channel 底层原理深度解析

RabbitMQ Connection 与 Channel 底层原理深度解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:58:59 阅读更多 →
TypeScript 工具类型实战:Record、Partial、Omit 组合应用与避坑指南

TypeScript 工具类型实战:Record、Partial、Omit 组合应用与避坑指南

去年接手一个中后台项目时,我发现自己每天都在做同一件无聊的事:定义一个User接口,再定义一个UserForm,然后是UserUpdateParams,字段几乎一样,只是多了几个问号、少几个字段。代码又臭又长,改一…

2026/10/2 17:58:59 阅读更多 →
Hetty 安全研究 HTTP 工具包:开源 MITM 代理、流量拦截与重放全指南

Hetty 安全研究 HTTP 工具包:开源 MITM 代理、流量拦截与重放全指南

网络安全应用安全 【免费下载链接】hetty An HTTP toolkit for security research. 项目地址: https://gitcode.com/GitHub_Trending/he/hetty 点击查看 免费下载 导读 Hetty 是一款面向安全研究(security research)的 HTTP 工具包&#xf…

2026/10/2 17:58:59 阅读更多 →
灵犀 AI Agent 多模型接入实战:用 TaoToken 统一 Key 打通智能体工厂

灵犀 AI Agent 多模型接入实战:用 TaoToken 统一 Key 打通智能体工厂

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:58:59 阅读更多 →
CCS嵌入式开发效率提升:代码补全与快捷键优化实战指南

CCS嵌入式开发效率提升:代码补全与快捷键优化实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:57:58 阅读更多 →

日新闻

从零搭建AI工程化:模型之外的完整闭环

从零搭建AI工程化:模型之外的完整闭环

先搞清楚一件事:从零开始做 AI 工程化,难的从来不是调模型、写提示词,而是把一套原型 Demo 变成长得像是“正经系统”的东西。你手里可能已经有了能跑通的代码,也可能刚读完一些概念,但真到了要把它变成可维护、可观测…

2026/10/2 0:00:20 阅读更多 →
大模型训练显存估计与混合精度训练实战指南

大模型训练显存估计与混合精度训练实战指南

1. 大模型训练显存估计与混合精度训练详解显存不够用,几乎是每个做大模型训练的人都会撞上的第一堵墙。你可能也经历过:模型代码写完了,数据管道跑通了,满心欢喜地按下训练启动脚本,结果几秒钟后终端弹出一行红字——C…

2026/10/2 0:00:20 阅读更多 →
小样本学习数据集选型指南:27个真正可用的高质量数据集

小样本学习数据集选型指南:27个真正可用的高质量数据集

1. 小样本学习的“弹药库”:为什么你总在找数据集,却总找不到真正能用的? 小样本、数据集——这两个词最近半年在我处理的200多个AI项目咨询里,出现频率排进前三。不是模型调不好,不是代码写不对,而是卡在…

2026/10/2 0:00:20 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 5:26:06 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 6:09:11 阅读更多 →