Qwen3.6-27B / 4×NVIDIA L20 48G / Tensor Parallelism=4
| 并发数 | 吞吐 (tok/s) | 均延迟 (s) | 最大延迟 (s) | RPS | 达天花板 | 区域 |
|---|
吞吐天花板约 750 tok/s,在并发 50 时达到 746 tok/s(天花的 99%),并发 80 仅多 1.2% 但延迟增加 26%。
性价比拐点在并发 30:518 tok/s 已达天花板 69%,均延迟 26.4s、最大延迟 30.8s 在可接受范围。
线性扩展区间为并发 1-20:吞吐随并发近线性增长(R²>0.99),10 倍并发带来 10 倍吞吐。
并发超过 50 无意义:GPU 计算已饱和,额外请求只增加排队延迟,吞吐基本不再增长。
压测脚本:基于 Python asyncio + httpx 的异步并发压测脚本,通过 Semaphore 控制并发数,每轮发送固定数量的 completions 请求。
请求参数:使用 /v1/completions 端点,输入为 512 个 "Hello" 重复 token,输出强制 max_tokens=512 且 ignore_eos=True,确保每个请求生成完整的 512 tokens。
指标定义:
• 吞吐量 = 所有请求输出 tokens 总和 / 墙钟时间
• 均延迟 = 单个请求端到端时间的算术平均
• 最大延迟 = 所有请求中最慢的那个
• RPS = 完成请求数 / 墙钟时间
• 墙钟时间 = 从第一个请求发出到最后一个请求返回的总时间
注意事项:并发 1/5/10 每轮 20 个请求(快速测试),并发 20/30/50/80 每轮 100 个请求(完整测试)。所有测试均使用 temperature=1.0 避免缓存命中。延迟数据为 512 tokens 满载输出,实际聊天场景下回复通常 100-200 tokens,延迟会按比例缩短。