Repolode
tsenart

tsenart/vegeta

一款用于 HTTP 压力测试的命令行工具与 Go 库,以恒定速率发送请求并输出延迟统计。

可替代:Apache JMeter

Star
25,225
Fork
1,428
未关闭 Issue
125
最近提交
上个月

这是什么?

Vegeta 是一款 HTTP 压力测试工具,核心特点是以恒定的请求速率持续打向目标服务。它既可以作为命令行程序使用,attack、encode、report、plot 等子命令能通过 UNIX 管道串联;也可以作为 Go 库引入,用代码驱动压测。

目标请求可以写成类似 HTTP 报文的纯文本列表,也可以由其他程序以 JSON 流的形式动态生成。attack 命令支持设置速率、时长、并发 worker 数、超时、TLS 证书、HTTP/2、长连接、连接数上限和自定义 DNS 解析器等。结果可输出为文本或 JSON 报告、按区间统计的直方图、HDR 直方图数据,或生成可交互缩放的 HTML 延迟曲线图。

压测过程中,Vegeta 还可以开启内置的 Prometheus 指标导出。分布式场景下,可以把目标速率分摊到多台机器上运行,再合并各自的结果文件生成报告。

核心功能

  • 01以恒定速率发起 HTTP 压测,可用命令行或 Go 库调用。
  • 02目标请求支持文本列表或 JSON 流输入,也支持惰性读取动态生成的目标。
  • 03提供延迟分位数、状态码分布和错误汇总等报告。
  • 04支持文本、JSON、直方图和 HDR 直方图等输出格式。
  • 05可生成交互式 HTML 延迟时序图。
  • 06压测期间可开启内置 Prometheus 指标导出。
  • 07支持 HTTP/2、TLS 客户端证书、自定义请求头和 DNS 解析器。

适用场景

  • 在固定请求速率下测量 API 接口的延迟表现。
  • 把目标速率分摊到多台机器,进行分布式压力测试。
  • 通过脚本或数据管道向服务输入动态生成的请求。
  • 借助 Prometheus 导出器在 Grafana 中监控压测指标。

快速上手

  1. 1

    在 macOS 上用 Homebrew 安装

    brew update && brew install vegeta
  2. 2

    在 Arch Linux 上用 pacman 安装

    pacman -S vegeta
  3. 3

    运行测试:以每秒 50 次的速率发送 GET 请求,持续 5 秒,并输出报告

    echo "GET http://localhost/" | vegeta attack -duration=5s | tee results.bin | vegeta report

使用前须知

  • 其他平台的安装需要从发布页面获取预编译文件,设置方式因操作系统而异。

收录于专题

标签

常见问题

vegeta 是什么?
一款用于 HTTP 压力测试的命令行工具与 Go 库,以恒定速率发送请求并输出延迟统计。 Vegeta 是一款 HTTP 压力测试工具,核心特点是以恒定的请求速率持续打向目标服务。它既可以作为命令行程序使用,attack、encode、report、plot 等子命令能通过 UNIX 管道串联;也可以作为 Go 库引入,用代码驱动压测。
vegeta 可以免费使用吗?用的什么许可证?
vegeta 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
vegeta 还在维护吗?
半年内有更新。vegeta 最近一次提交是在 2026年9月24日。
vegeta 适合用来做什么?
在固定请求速率下测量 API 接口的延迟表现。 把目标速率分摊到多台机器,进行分布式压力测试。 通过脚本或数据管道向服务输入动态生成的请求。 借助 Prometheus 导出器在 Grafana 中监控压测指标。
vegeta 怎么安装和运行?
在 macOS 上用 Homebrew 安装: brew update && brew install vegeta 在 Arch Linux 上用 pacman 安装: pacman -S vegeta 运行测试:以每秒 50 次的速率发送 GET 请求,持续 5 秒,并输出报告: echo "GET http://localhost/" | vegeta attack -duration=5s | tee results.bin | vegeta report
在哪里获取 vegeta?
源代码和安装说明在 GitHub 上:https://github.com/tsenart/vegeta

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目