vLLM 突发流量调优:3600 次请求的排队与延迟对照

我固定同一段突发到达流量,只调整 vLLM 的活动序列上限,按 64 → 128 → 128 → 64 启动四轮独立服务。3600 次请求全部完成,通过流式输出与 token 数校验;两轮候选配置的排队延迟都低于两轮基线。

参数与资源

项目 本次配置或实测用量
模型与精度 Qwen2.5-1.5B-Instruct,BF16;vLLM 0.8.5
GPU 数量与运行方式 1 张 GPU,四轮串行,每轮重新启动服务
活动序列上限 max-num-seqs=64 / 128;实际活动序列采样峰值最高 128
上下文与批 token max-model-len=1024,max-num-batched-tokens=4096
其他参数 gpu-memory-utilization=0.75;关闭前缀缓存;seed=20260923
单轮请求 900 个;128 / 512 token 输入各 450 个;每请求输出 64 token
到达流量 20 秒到达窗口;突发段 90 req/s,其余 30 req/s;实际一秒峰值 110 个请求
本组已测最高完成吞吐 43.98 req/s;最高已测活动序列上限为 128,并非硬件极限
测量窗口用量 四轮含排空时间合计 81.88 秒;按 1 张 GPU 折算 0.02274 GPU·时
设备显存采样峰值 基线 35643–35775 MiB;候选 41123–41207 MiB

GPU·时由卡数乘正式测量墙钟折算,排除了启动、加载和暖机,表示本表测量窗口占用,并非 GPU 内核忙时或整个项目累计消耗。客户端并发上限为 2048,用于避免客户端限流,不能等同于服务端实际并发。

四轮对照结果

合格请求要求同时满足 TTFT≤500 ms、请求内平均 TPOT≤35 ms;goodput 包含请求排空时间。

活动序列上限 / 轮次 TTFT p95 / p99 ms 合格 / 900 Goodput req/s 平均 TPOT 的 p95 ms 显存峰值 MiB
64 / 第一次 1221 / 1385 601 29.36 13.79 35775
128 / 第一次 368 / 481 896 43.76 23.53 41207
128 / 第二次 365 / 479 895 43.72 23.58 41123
64 / 第二次 1246 / 1409 594 29.02 13.81 35643

按两次独立运行汇总,TTFT p95 约 1234→366 ms,合格吞吐约 29.2→43.7 req/s。代价是平均 TPOT 的 p95 约增长 71%,显存峰值增加约 5.4–5.6 GiB。全部请求完成吞吐仍约为 43.96–43.98 req/s,改善的是联合延迟条件下的服务合格率。

每种配置只有两段短时固定负载;这些数据不构成长期 SLA,也没有寻找全局最大并发或最高速度。完整实现、逐请求记录及后续计划保留在对应私有全文中。

阅读全文 →

完整实验记录保存在 pegasas-notes-v2 私有仓库,仅向已获仓库访问权限的账号开放。

← 返回项目笔记