资讯动态

压测机怎么选:Hey负载测试对CPU、内存与网络带宽到底需要多少

发布时间:2026/10/3 17:12:37 来源:尧图企业网站定制
压测机怎么选Hey负载测试对CPU、内存与网络带宽到底需要多少【免费下载链接】heyHTTP load generator, ApacheBench (ab) replacement项目地址: https://gitcode.com/GitHub_Trending/he/heyHey 是一款开源轻量级HTTP 负载测试工具是 ApacheBench (ab) 的现代替代品——一个 Go 编写的单文件命令行程序即可对 Web 服务发起压力测试并输出延迟、QPS、状态码分布等统计。那么问题来了跑 Hey 负载测试压测机到底要多少 CPU、内存和网络带宽本文给出可直接套用的选型参考让你的压测结果不被压测机本身拖后腿。先认识 Hey它为什么对资源要求低 Hey 的架构非常简洁这也是它省资源的根本原因一个共享 HTTP 客户端 N 个 worker 协程并发度由-c参数控制响应体读取后直接丢弃不做落盘依赖极少go.mod 中只引入了golang.org/x/net与golang.org/x/text核心压测参数集中在 hey.go-n请求总数、-c并发数、-z持续时间、-q限速每 worker QPS、-cpus可用核心数。一条典型命令hey -n 1000 -c 100 -z 30s https://your-service.example.com安装方式也很简单Homebrew 执行brew install hey或下载预编译二进制Makefile 展示了 Windows/Linux/macOS 三种平台的构建方式也可以从源码获取git clone https://gitcode.com/GitHub_Trending/he/hey go buildHey 负载测试需要多少 CPUCPU 是压测机最容易先打满的资源。消耗取决于三个因素并发数-cworker 越多系统调用与上下文切换越多是否复用连接加上-disable-keepalive后每个请求都要重新做 TCP TLS 握手CPU 开销会成倍上升响应体大小数据量越大内核拷贝消耗越多。值得注意的隐藏旋钮是-cpus它默认等于机器全部核心runtime.GOMAXPROCS你可以显式限制 Hey 使用的核数比如在一台 8 核机器上只让它跑 4 核避免压满影响其他压测任务。经验参考值目标规模建议并发-c建议 CPU 核数千级 QPS 以内50 ~ 2002 核万级 QPS500 ~ 20004 ~ 8 核万级以上按-q限速压8 核以上⚠️ 通用原则压测期间 hey 进程的 CPU 占用应保持在 80% 以内超过即说明 QPS 被压测机限制了测出来的数字会偏低失真。压测机内存要留多少Hey 的内存开销主要来自三块几乎可以估算到固定值结果通道缓冲requester/requester.go 中缓冲容量为min(C×1000, 1000000)条结果大并发时可达数百 MB统计数组requester/report.go 会最多保留 100 万个样本的 8 组延迟数据最坏情况约 80MBTCP 连接缓冲区每个并发连接都有内核收发缓冲区数千并发时额外占用数百 MB。结论很直接中小规模压测 2GB 内存足够大规模压测数千并发建议 4GB 起步。Go 运行时还会随 GC 浮动预留 30% 余量比较稳妥。压测机网络带宽要多少带宽需求有一个极简公式 所需带宽 ≈ 目标 QPS × 平均响应体大小代入几个典型场景场景计算约需带宽网卡建议1000 QPS × 10KB 响应10MB/s~80Mbps1GbE 轻松10000 QPS × 10KB 响应100MB/s~800Mbps1GbE 接近打满10000 QPS × 1MB 响应10GB/s~8Gbps必须 10GbE两点提醒虽然 Hey 读完响应就丢弃但数据照样要走完整个网络链路带宽不够时延迟统计会被整体抬高压测机最好与目标服务同机房或同可用区物理距离带来的 RTT 会直接污染压测数据。压测机配置速查表 ✅场景CPU内存网络备注日常功能压测千级 QPS 以内2 核2GB1GbE默认-c 50足够常规回归压测1千~1万 QPS4 核4GB1GbE建议用-z按时长压测大规模压测万级 QPS 以上8 核以上8GB10GbE与目标服务同机房三步自检确认压测机不是瓶颈压测时开着另一个终端跑完看三组数据看 CPUtop里 hey 进程持续高于 80%或整机打满 → QPS 被压测机限制结果作废看内存free -h确认没有 OOM、swap 使用量很小看网络sar -n ET 1检查重传率重传偏高说明带宽或连接容量不足。 如果机器暂时达不到要求可以用-q对每个 worker 限速例如-q 10 -c 5 -z 30s先跑通流程再换更强的机器复测。常见问题 FAQQ云主机和本地机器哪个更合适当压测机中小规模用一台 2 核 4GB 云主机即可大规模压测建议选与目标服务同地域、同机房的实例RTT 越小数据越干净。Q笔记本能直接跑 Hey 做压测吗可以跑通但笔记本的散热降频、网络抖动都会让数据不稳定只适合功能验证不建议作为正式压测结论。QHey 能压 HTTP/2 吗可以加-h2参数即可见 requester/requester.go 中的协议协商逻辑。【免费下载链接】heyHTTP load generator, ApacheBench (ab) replacement项目地址: https://gitcode.com/GitHub_Trending/he/hey创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑