
Hey压测应该跑多久-z与-n两种模式的实战决策指南【免费下载链接】heyHTTP load generator, ApacheBench (ab) replacement项目地址: https://gitcode.com/GitHub_Trending/he/hey做压测时新手最常纠结的问题就是压测到底该跑多久答案藏在 Hey 这款轻量级HTTP 压测工具ApacheBench 的现代替代的两个参数里——-n固定请求数和-z固定时长。本文用一次清晰的决策流程帮你在 30 秒内选对模式。 先认识 Hey30 秒上手 HTTP 压测工具Hey 是一个小而美的压测程序向 Web 应用发送持续负载并输出延迟分布、RPS、错误分布等完整统计。它支持 HTTP/2、限速、自定义请求头等能力比老牌的ab更易用。需要体验源码时可直接克隆仓库git clone https://gitcode.com/GitHub_Trending/he/hey完整参数说明见 README.md。⚖️ 本质区别-n 与 -z 到底差在哪对比项-n固定请求数-z固定时长停止条件发满 N 个请求即停到达指定时长即停如-z 30s、-z 3m默认值200 个请求不启用需显式指定总耗时随响应速度浮动完全可控典型用途版本对比、回归测试容量评估、长稳观察一个关键细节同时指定-z和-n时-n会被直接忽略。源码中只要-z 0请求总数就被置为极大值直到定时器到点才停止见 hey.go 与 hey.go。所以二选一不要同时写。 场景一用 -n 模式把变量锁死当你想回答这次改动让接口变快还是变慢了时用-n两次压测请求量相同RPS 和延迟才有可比性跑完即停适合频繁执行的回归测试注意约束-n不能小于-c并发数否则会直接报错退出hey.go。示例来自 README.mdhey -n 1000 -c 100 https://your-api.com/health建议对比场景下至少跑-n 1000起步。Hey 的延迟分布会输出 P10 到 P99 各百分位requester/report.go样本太少时 P99 基本是噪声。⏱️ 场景二用 -z 模式模拟真实流量窗口当你想回答系统能不能扛住持续 5 分钟的在线流量时用-z耗时固定方便规划压测窗口和观察服务端监控曲线能暴露预热、连接池耗尽、缓存失效等只有持续压力才会出现的问题配合-q限速可以精确控制 QPS如每 worker 每秒 10 次请求hey -q 10 -c 5 -z 30s https://your-api.com/health 压测该跑多久分场景决策表场景推荐模式建议量级说明冒烟 / 快速验证-n-n 200默认即可几秒内出结果验证可用性版本前后对比-n-n 1000 ~ 5000两次请求数一致看 RPS 与 P95/P99容量基线测试-z-z 1m ~ 5m记录稳定状态下的 RPS、延迟、错误率长稳 / 泄漏排查-z-z 10m ~ 30m关注曲线趋势延迟是否缓慢爬升精确限速场景-z-q与业务峰值窗口对齐如-q 10 -c 5 -z 30s经验法则结论用于对比就按请求数-n结论用于扛不扛得住就按时长-z。时长类压测至少 1 分钟起步短于这个窗口很难看出趋势变化。⚠️ 新手必知的 4 个细节-z优先指定-z后-n失效写两者只会浪费记忆负担并发约束-n必须 ≥-c默认并发是 50hey.go超时保护单次请求默认 20 秒超时-t 20慢接口注意调整否则大量超时会污染统计统计上限报告最多收录 100 万个请求样本requester/report.go超长压测超出部分的样本不再进入百分位统计总量以 RPS 为准。✅ 一张清单收尾想快速验证接口是否健康→hey -n 200 url默认参数就够想对比两个版本谁更快→ 用相同的-n≥1000各跑一遍想知道真实流量下能扛多少→hey -z 5m url同时盯住服务端监控想精确控速→-z搭配-q把 QPS 锁在目标值记住没有标准时长只有匹配目的的时长——请求数对比用-n时间窗口模拟用-z选对之后Hey 给出的 RPS、P95/P99 和错误分布就是你决策的全部依据。【免费下载链接】heyHTTP load generator, ApacheBench (ab) replacement项目地址: https://gitcode.com/GitHub_Trending/he/hey创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考