第 112 题:如何评估推理引擎的延迟分布?P50、P90、P99的优化重点?
题目
如何评估推理引擎的延迟分布?P50、P90、P99的优化重点?
完整讲解
一、延迟分布与 P50/P90/P99
P50(中位数):一半请求低于该值;P90:90% 请求低于该值;P99:99% 低于该值。P99 反映 长尾延迟,常用于 SLA(如「P99 < 500ms」)。评估时需在稳定负载下采集足够样本(如数万次请求),按延迟排序取百分位;区分 首 token 延迟(TTFT) 与 每 token 延迟(流式场景)。
二、优化重点
- P50:代表「典型」请求;优化 主路径:kernel 效率、batch 大小、无多余拷贝、warmup 充分。P50 好说明引擎与调度正常。
- P90/P99:代表 长尾;常见原因:排队(高负载时等待)、冷启动/编译(未 warmup 或新 shape)、显存不足/碎片(偶发 OOM 或重分配)、GC/调度(CPU 侧停顿)、网络/跨进程。优化:限流/排队策略、预编译与 warmup、显存预留与碎片控制、隔离 noisy neighbor(多模型/多租户时)。
- 评估方式:打流测 P50/P90/P99,并看 分布直方图 与 时间线(是否周期性 spike);结合 trace 定位 P99 对应的请求特征(大 batch、长 seq、新 shape 等)。
三、指标与 SLA
- 业务常约定 P99 或 P95 作为 SLA;评估引擎时同时报 P50/P90/P99 与 throughput,便于权衡「平均」与「长尾」。优化顺序:先稳 P99(消除冷启动、排队、OOM),再压 P50(主路径性能)。
面试要点
- P50 = 中位数,P90/P99 = 长尾;评估需足够样本,区分 TTFT 与 per-token。
- P50 优化主路径;P99 优化排队、冷启动、显存、GC、noisy neighbor。
- 评估时看分布与时间线;SLA 常用 P99/P95。
记忆要点
- P50 典型、P99 长尾;SLA 常用 P99。
- P99 差:排队、冷启动、显存、GC、新 shape;先稳 P99 再压 P50。
- 打流 + 直方图 + trace 定位长尾请求特征。