用途:对 HTTP 服务执行阶梯式并发负载测试,自动采集各并发级别的延迟分位数据,并识别性能拐点、给出最优并发建议。
主要能力:双引擎支持,自动检测 wrk(优先)或 ab,也可手动指定;按用户自定义的并发级别逐级加压,默认 1→10→50→100→200→500;每级采集 p50/p90/p99 延迟;自动检测四类性能拐点(p99 延迟加速、吞吐效率显著下降、吞吐饱和而延迟飙升、错误率激增);自动推荐最优并发,即首个拐点前一级,若无拐点则取 RPS 最高级;零 Python 依赖,纯标准库实现;支持人类可读与 JSON 两种输出。
使用方式:需先安装 wrk 或 ab(如 Ubuntu/Debian 用 sudo apt-get install wrk 或 sudo apt-get install apache2-utils;macOS 用 brew install wrk)。基础命令为 python3 scripts/http_benchmark.py https://example.com/api/health;可用 -s 自定义并发步、-d 设置每级时长、-t 指定引擎、-n 设置 ab 请求数、--json 输出 JSON。
适用场景:HTTP 接口或服务的性能压测与容量评估、寻找最佳并发水平。
限制:测试会产生真实流量,未经授权不得对生产服务运行;wrk 的延迟分位数比 ab 更准确(使用 HdrHistogram);ab 不支持时长参数,脚本以总请求数近似计时;每级建议至少 10 秒以获得稳定结果。