新闻详情

新闻详情

首页 / 资讯中心 / 详情

如何用Hey压测API网关:反向代理与Nginx开销基准测试实战

发布时间:2026/10/2 5:18:35来源:尧图网络
如何用Hey压测API网关:反向代理与Nginx开销基准测试实战
如何用Hey压测API网关反向代理与Nginx开销基准测试实战【免费下载链接】heyHTTP load generator, ApacheBench (ab) replacement项目地址: https://gitcode.com/GitHub_Trending/he/hey想量化API网关或 Nginx 反向代理带来的性能损耗吗本文带你使用Hey这款轻量级 HTTP 压测工具HTTP load generatorApacheBench/ab 的现代替代品完成一次完整的反向代理开销基准测试。Hey 用 Go 编写、单文件运行、默认 50 并发 200 请求一条命令即可输出 RPS、延迟分布、错误统计等关键指标是压测 API 网关、网关前置 Nginx 开销的得力工具 。为什么选 Hey 做网关压测工具很多团队压测 API 网关时还在用 ApacheBenchab。Hey 作为ab 的替代品优势很明显Go 编写跨平台单二进制无需依赖 Apache 环境默认并发更高ab 默认只有 1 个并发Hey 默认 50 并发-c 50更贴近真实网关场景支持 HTTP/2通过-h2参数即可开启方便对比网关的 HTTP/2 透传开销细粒度延迟指标内置 DNS、建连、写请求、等首字节、读响应五个阶段的耗时拆分见 requester/requester.go 中result结构体的connDuration、dnsDuration、delayDuration字段CSV 输出-o csv可直接导出指标便于归档对比不同网关配置第一步一键安装 Hey 压测工具三种安装方式任选其一1. 直接下载预编译二进制Linux/macOS/Windows amd64 均有地址见 README.md 的 Installation 章节。2. macOS 用 Homebrewbrew install hey3. 从源码构建适合想定制输出的场景git clone https://gitcode.com/GitHub_Trending/he/hey cd hey go build -o hey hey.go项目也提供了 Makefile一键交叉编译三平台和 Dockerfile构建为极小的 scratch 镜像可容器化部署压测节点。安装后验证hey --help能看到-n请求数、-c并发数、-z持续时间等参数即安装成功。第二步搭好直连 vs 过网关两套目标基准测试的核心思想同一后端两种路径对比差值。目标 A基线直连后端# 压测后端服务本身 hey -n 1000 -c 50 http://192.168.1.10:8080/api/ping目标 B经过 Nginx 反向代理准备一份最小 Nginx 配置把流量转发到同一后端upstream backend { server 192.168.1.10:8080; } server { listen 80; location /api/ { proxy_pass http://backend; proxy_set_header Host $host; } }# 压测同一后端但流量经过 Nginx 网关 hey -n 1000 -c 50 http://192.168.1.20:80/api/ping 对比两组结果Nginx 引入的开销 目标 B 的延迟 - 目标 A 的延迟。第三步关键压测命令与参数速查针对 API 网关场景推荐以下几组命令参数定义详见 hey.go① 标准对比压测固定请求数hey -n 1000 -c 50 http://gateway.example.com/api/ping② 持续流量压测更贴近线上# 持续压 2 分钟适合观察网关在稳态下的开销 hey -z 2m -c 100 http://gateway.example.com/api/ping③ HTTP/2 网关透传开销# 对比 -h2 开关前后量化网关 HTTP/2 支持的成本 hey -h2 -n 1000 -c 50 https://gateway.example.com/api/ping④ 关掉连接复用测网关冷连接开销hey -disable-keepalive -n 500 -c 50 http://gateway.example.com/api/ping⑤ 限速模拟真实用户流量# 每个 worker 限速 10 QPS共 5 个 worker hey -q 10 -c 5 -z 30s http://gateway.example.com/api/ping⑥ 导出 CSV 归档hey -n 1000 -c 50 -o csv http://gateway.example.com/api/ping nginx_gateway.csv第四步读懂结果量化 Nginx 开销压测结束后Hey 会打印汇总报告渲染逻辑见 requester/report.go。重点关注这几项指标含义网关场景关注点Requests/sec(RPS)每秒处理请求数网关吞吐是否成为瓶颈Average平均延迟与直连后端对比得出代理开销200 OK/ 4xx / 5xx状态码分布网关限流、超时会产生 429/502/504Fastest / Slowest最快/最慢请求长尾延迟是否被网关放大延迟分布直方图各延迟区间请求占比判断网关负载是否均匀示例解读若直连后端平均延迟 5ms经 Nginx 后变为 8msRPS 从 20000 降到 17500则可得出结论——这套网关配置在当前压力下约引入3ms 固定开销、12% 吞吐损耗这就是你在压测报告中要呈现的数字 。实战技巧与避坑指南压测机放同机房网关开销通常只有毫秒级跨网段压测的网络抖动会淹没被测差异并发别超过网关 worker 数太多-c设得过高会先打满压测机自身先跑hey -c 1 -n 100确认基线正常多轮取中位数Nginx 的开销对 CPU 频率敏感建议每组配置跑 3 次取中位注意-t超时默认单请求 20 秒超时网关超时应调小避免压测被慢请求拖住区分 HTTP/1.1 与 HTTP/2不带-h2时 Hey 强制走 HTTP/1.1见 requester/requester.go 中TLSNextProto的置空逻辑对比网关两种协议开销时务必注明相关源码导读文件说明hey.go主程序命令行参数解析与压测入口requester/requester.go压测引擎并发 worker、QPS 限速、延迟分段采集requester/report.go结果报告RPS、延迟分布、状态码统计README.md全部参数说明与示例命令小结用 Hey 做 API 网关与 Nginx 开销基准测试只需三步安装工具 → 搭建直连/过代理双目标 → 同参数对比压测。借助其 HTTP/2 支持、延迟分段指标和 CSV 导出你能用极低的成本把网关到底慢了多少变成一个精确的数字为网关选型与调优提供可靠依据 【免费下载链接】heyHTTP load generator, ApacheBench (ab) replacement项目地址: https://gitcode.com/GitHub_Trending/he/hey创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

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

较早相关资讯

最新相关资讯

C++算法精讲之贪心算法 2026/10/2 7:08:56

C++算法精讲之贪心算法

前言贪心算法(greedy algorithm)是"每一步都选当前看起来最好的那个"的算法范式。它的代码往往只有十几行,比动态规划(dynamic programming,DP)短得多,但正确性门槛比 DP 高得多&…

阅读更多 →
dsh-purge演练台资产库深度解析:SQLite如何存储靶标资产、POC与攻击链 2026/10/2 7:08:50

dsh-purge演练台资产库深度解析:SQLite如何存储靶标资产、POC与攻击链

dsh-purge演练台资产库深度解析:SQLite如何存储靶标资产、POC与攻击链 【免费下载链接】dsh-purge DeepSeek Harness 破甲:让所有模型都能破甲,不同模型可换不同提示词;默认提示词面向国模「小码酱」。Jailbreak for every model …

阅读更多 →
Desthiobiotin NHS Ester,cas:80750-24-9,脱硫生物素-琥珀酰亚胺酯,脱硫生物素-NHS酯 2026/10/2 7:08:50

Desthiobiotin NHS Ester,cas:80750-24-9,脱硫生物素-琥珀酰亚胺酯,脱硫生物素-NHS酯

基础信息中文名称:脱硫生物素-NHS酯,简称脱硫生物素-活性酯英文名称:Desthiobiotin NHS Ester,全称N-Hydroxysuccinimido dethiobiotinateCAS编号:80750-24-9分子式:C₁₄H₂₁N₃O₅分子量:约3…

阅读更多 →
GitHub热榜项目怎么刷才有价值:看懂、跑通、评估三步法 2026/10/2 7:08:44

GitHub热榜项目怎么刷才有价值:看懂、跑通、评估三步法

GitHub热榜这地方,要么不刷,一刷就是一个小时。每天早上的日榜就像一份技术圈的早餐菜单,热门项目换得飞快,昨天还挂在那里的仓库,今天可能已经跌出前二十五。2026年9月25日这期日榜我完整刷了几遍,印象最深…

阅读更多 →
hindsight:从浏览器历史到数字取证时间线的开源解析工具 2026/10/2 7:08:44

hindsight:从浏览器历史到数字取证时间线的开源解析工具

你有没有想过,真正能还原一个人数字生活轨迹的,往往不是聊天记录,而是浏览器历史?很多年前做安全分析时,我最怕遇到的情况就是:聊天记录缺失、文件被清理、日志被清空。但只要浏览器还在,Histor…

阅读更多 →
文档排版与数据处理:阿拉伯数字与罗马数字的转换 2026/10/2 7:08:37

文档排版与数据处理:阿拉伯数字与罗马数字的转换

前言 在学术论文、法律文书、出版物排版以及复杂的数据处理中,罗马数字依然扮演着不可替代的角色。无论是用于区分论文前置部分的页码、构建多级大纲编号,还是在表格中进行特定格式的数据转换,掌握罗马数字的底层逻辑与软件操作规范&#xff…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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