rakyll/hey

GitHub Trending (daily) 工具

摘要

hey 是一个轻量级命令行工具,用于对 Web 应用程序进行负载测试,支持 HTTP 方法、并发性以及各种性能测试配置。

HTTP 负载生成器,ApacheBench (ab) 的替代品
查看原文
查看缓存全文

缓存时间: 2026/09/29 15:28

rakyll/hey

来源:https://github.com/rakyll/hey

hey 是一个向 Web 应用程序发送负载的小工具。它最初名为 boom,灵感来自 Tarek Ziade 的 tarekziade/boom 工具(https://github.com/tarekziade/boom)。使用相同名称曾导致二进制文件名冲突并引发混淆。为保留原名称,我们将此项目重命名为 hey。

安装

  • Linux (amd64): https://storage.googleapis.com/hey-releases/hey_linux_amd64
  • macOS (amd64): https://storage.googleapis.com/hey-releases/hey_darwin_amd64
  • Windows (amd64): https://storage.googleapis.com/hey-releases/hey_windows_amd64

包管理器

macOS:

  • Homebrew(https://brew.sh/)用户可使用 brew install hey。

用法

hey 在指定并发级别下运行请求数量,并输出统计信息,同时支持 HTTP2 端点。

用法:hey [选项...]  
选项:  
-n   运行的请求数量,默认值为 200。  
-c   并发运行的工作线程数。总请求数不得小于并发级别,默认值为 50。  
-q   速率限制,单位为每个工作线程的每秒查询数(QPS),默认无速率限制。  
-z   发送请求的持续时间。达到时长后应用停止并退出。若指定时长,则忽略 -n。  
     示例:-z 10s  -z 3m。  
-o   输出类型。若未指定则打印摘要。唯一支持的备选项为 "csv",以逗号分隔值格式转储响应指标。  
-m   HTTP 方法,可选 GET、POST、PUT、DELETE、HEAD、OPTIONS。  
-H   自定义 HTTP 头部。可通过重复该标志指定多个头部。  
     例如:-H "Accept: text/html" -H "Content-Type: application/xml"。  
-t   每个请求的超时时间(秒),默认值为 20,设为 0 表示无超时。  
-A   HTTP Accept 头部。  
-d   HTTP 请求体内容。  
-D   HTTP 请求体文件路径。例如:/home/user/file.txt 或 ./file.txt。  
-T   Content-type,默认值为 "text/html"。  
-a   基本身份验证,格式为 用户名:密码。  
-x   HTTP 代理地址,格式为 主机:端口。  
-h2  启用 HTTP/2。  
-host   HTTP Host 头部。  
-disable-compression  禁用压缩。  
-disable-keepalive  禁用 Keep-Alive,阻止在不同 HTTP 请求间复用 TCP 连接。  
-disable-redirects  禁用跟随 HTTP 重定向。  
-cpus  使用的 CPU 核心数。(当前机器默认值为 8 核)  

示例

使用默认设置发送请求:

hey https://google.com  

使用 100 个并发线程发送 1000 个请求:

hey -n 1000 -c 100 https://google.com  

运行 30 秒负载测试:

hey -z 30s https://google.com  

发送带自定义请求体的 POST 请求:

hey \  
  -m POST \  
  -d "param1=value1¶m2=value2" \  
  https://google.com  

添加自定义头部:

hey \  
  -H "Accept: application/json" \  
  -H "Authorization: Bearer token" \  
  https://google.com  

测试 HTTP/2:

hey -h2 https://google.com  

将每个工作线程的速率限制为 10 次查询/秒:

hey -q 10 -c 5 -z 30s https://google.com  

相似文章