服务端压测工具是什么
vLLM 自带基准工具 vllm bench serve,对 OpenAI 兼容端点发压,输出吞吐与延迟分位,并支持控制请求数与到达速率。它是容量标定的起点工具:先测单实例基线,再逐档提高并发找饱和点。压测的价值取决于数据是否贴近生产,参数取值以所用版本文档为准。
基本信息
| 工具 | vllm bench serve(随 vLLM 版本演进) |
|---|---|
| 压测目标 | 任意 OpenAI 兼容端点,不限于 vLLM 自身 |
| 关键参数 | 请求数、到达速率、后端类型、数据集,参数名以版本文档为准 |
| 主要输出 | 吞吐与 TTFT/TPOT 等延迟分位 |
| 适用范围 | 容量标定、配置对比、升级回归 |
典型使用场景
- 单实例基线:拿到这台机器在目标长度分布下的吞吐与延迟数字
- 扫并发档位:从 1 逐档加到 4/8/16/32/64,找出吞吐增幅开始放缓的饱和点
- 配置对比:量化档位、张量并行度、窗口大小各改一项,看结论是否支持改动
- 升级回归:引擎或驱动升级前后跑同一套数据,确认没有性能回退
- 容量规划输入:把单实例实测吞吐作为换算链条中的分母
典型用法
典型用法
vllm bench serve --backend openai-chat \
--base-url http://127.0.0.1:8000 --model <模型名> \
--num-prompts 500 --request-rate 20
# 并发档位逐档跑:1 / 4 / 8 / 16 / 32,找吞吐增幅放缓的拐点
# 对比实验只改一个变量:换了量化就不要同时改窗口
# 先跑一轮热身丢弃:模型预热与缓存建立会污染第一批数据必须写清的压测条件
| 项目 | 为什么重要 | 常见遗漏 |
|---|---|---|
| 长度分布 | 长输入压 prefill,长输出压 decode | 只用一种长度造数据 |
| 并发与到达速率 | 同一实例在不同并发下结论不同 | 未记录到达速率 |
| 请求数与预热 | 样本太少结论不稳 | 直接取第一批数据 |
| 模型与量化档位 | 决定分母是否可比 | 未记录 revision |
压测数据要贴近真实画像:用与生产同构的输入输出长度分布,否则数字好看但上量后表现完全不同。
结论落在分位上:报告里写清 P50/P95/P99 与对应的并发档位,只报平均值会让长尾问题在扩容后集中暴露。