Perftest 特性
- 轻量易用:单个可执行文件,无复杂依赖,安装即用。
- 多协议支持:支持
HTTP/1.1、HTTP/2、HTTP/3、WebSocket。 - 实时监控:压测时实时推送 QPS 、延迟分布、状态码统计等指标到自定义端点或 Prometheus 。
- 分布式压测:内置 Master-Agent 架构,轻松扩展多台机器发压。
- Web 管理界面:Collector 启动后自动提供 UI 页面,可视化启动测试、查看实时曲线、导出报告。
- Kubernetes 部署友好:官方提供完整的 k8s YAML 文件,一条命令即可扩容上百个 Agent 。
快速上手
安装很简单,只需一行命令:
go install github.com/go-dev-frame/sponge/cmd/sponge@latest
安装之后请看 perftest 的 使用指南。
单机压测执行命令示例:
# 指定总请求数
sponge perftest http --total=100000 --url=http://localhost:8080/user/1
# 指定压测时长
sponge perftest http --duration=30s --url=http://localhost:8080/user/1
分布式集群压测
当单机压测的能力不足时,使用集群压测,只需运行:
sponge perftest collector
然后在多台机器上执行:
sponge perftest agent --config=agent.yml
Collector 会自动汇总所有 Agent 的性能数据,并在 Web UI 实时展示,如下图所示:

Kubernetes 一键部署
对于大规模测试,手动管理节点是不现实的,因此提供了完整的 Kubernetes 部署脚本 perftest-deployment.yml,直接:
kubectl apply -f perftest-deployment.yml
即可启动 Collector + Agent 集群压测。
WebSocket 压测也支持
想测试消息推送、IM 、通知系统性能?示例:
sponge perftest websocket --worker=100 --duration=1m \
--body='{"msg":"hello"}' --url=ws://localhost:8080/ws
QPS 、收发延迟、消息统计全都有。
perftest 是一款“从单机到集群”的压测工具,不花时间配置、不依赖外部组件,非常适合开发阶段接口调优、性能回归、系统瓶颈排查和高并发预演。
