vLLM Router:用于大规模推理的高性能、预填充/解码感知负载均衡器
在大规模生产环境的 vLLM 部署中,高效管理模型副本之间的请求分发是一项至关重要的需求。标准的负载均衡器通常无法胜任,因为它们不了解大模型推理的有状态特性(例如 KV 缓存),也无法处理诸如预填充/解码分离等复杂的推理模式。
为了解决这个问题,我们推出了 vLLM Router(GitHub 仓库),这是一款专为 vLLM 设计的高性能、轻量级负载均衡器。该路由由 Rust 编写,开销极低,充当客户端与 vLLM 工作节点集群(Kubernetes 或裸机 GPU 集群)之间的智能状态感知负载均衡器。
vLLM Router 源自 SGLang 模型网关 的分支,并针对 vLLM 进行了修改和简化。未来我们计划将其合入 vLLM 主仓库。同时,我们也将与 SGLang 模型网关的开发者合作,统一大规模部署的网关功能。
核心架构与能力
vLLM Router 旨在解决大规模推理中的两大核心挑战:智能负载均衡和预填充/解码分离支持。
1. 智能负载均衡策略
与简单的轮询(Round-Robin)不同,vLLM Router 提供了多种复杂的负载均衡算法,以优化性能和状态亲和性。对于对话式工作负载,将同一用户的后续请求路由到持有其 KV 缓存的同一个工作节点,对于降低延迟至关重要。
为此,路由支持以下策略:
- 一致性哈希(Consistent Hashing):这是最大化性能的关键策略。它确保具有相同路由键(如会话 ID 或用户 ID)的请求具有“粘性”,并始终路由到同一个工作节点副本,从而最大程度地重用 KV 缓存。
- 二选一算法(Power of Two,PoT):一种开销很低且能提供极佳负载均衡效果的随机选择策略。
- 轮询(Round Robin)与随机(Random):用于无状态负载分发的标准策略。
2. 原生支持预填充/解码分离(Prefill/Decode Disaggregation)
该路由被设计为 vLLM 最先进推理架构——预填充/解码(P/D)分离——的编排层。
在这种架构中,计算密集型的预填充步骤和内存密集型的解码步骤分别由专门的独立工作组处理。vLLM Router 管理着这一复杂工作流:
- 它将新请求智能地路由至预填充工作组。
- 完成后,它将请求状态引导至相应的解码工作节点进行 token 生成。
- 它支持 NIXL 和 基于 NCCL(结合 ZMQ 发现) 的分离后端发现与路由。
企业级可靠性与可观测性
vLLM Router 具备生产级功能,可在大规模环境中保持高可用性。
- Kubernetes 服务发现:该路由可在 Kubernetes 原生模式下运行,通过标签选择器自动发现、监控并路由至 vLLM 工作节点 Pod。
- 容错性:它包含了可配置的重试逻辑(支持指数退避和抖动)以及熔断器。如果某个工作节点健康检查失败,路由会立即将其从路由池中移除并重试请求,从而防止故障蔓延。
- 可观测性:内置的 Prometheus 端点(
/metrics)可以导出详细的请求量、延迟、错误率以及单个工作节点健康状况的指标,实现对整个推理集群的全面监控。
基准测试分析:在大规模场景下的最优性能选择
我们将 vLLM Router 与两种广泛使用的方案进行了基准测试对比:
- llm-d:一个利用默认队列感知负载均衡的 Kubernetes 原生路由框架。
- vLLM-native:标准的 K8s 原生负载均衡器,采用基础的轮询策略。关键点在于,该方案不具备预填充/解码状态感知能力,将所有 Pod 视为相同的 vLLM 副本。
排除说明:我们并未将 vLLM 内置的 DP/EP 协调器(推荐的 vLLM 集群外部负载均衡方案)纳入测试。由于存在已知的性能问题,其吞吐量仅为其他方案的 1/8。
Llama 3.1 8B(配置 8 个预填充 Pod 和 8 个解码 Pod)
- vLLM Router(蓝线)的每秒请求数(Req/S)吞吐量比 llm-d(紫线)高 25%,比 K8s 原生负载均衡器(橙线)高 100%。
- vLLM Router 的首字延迟(TTFT)接近 K8s 原生负载均衡器,且比 llm-d 快 1200 毫秒。

Deepseek V3(配置 1 个预填充 Pod (TP8) 和 1 个解码 Pod (TP8))
- vLLM Router(蓝线)的每秒请求数(Req/S)吞吐量与 llm-d(紫线)相当,且比 K8s 原生负载均衡器(橙线)高 100%。
- vLLM Router 的首字延迟(TTFT)比 llm-d 和 K8s 原生方案快 2000 毫秒。

总结
vLLM Router 是在生产规模下运行 vLLM 的核心组件。它将推理架构从零散的独立实例转变为一个统一且具韧性的集群。通过提供智能负载均衡以及对预填充/解码分离的原生支持,它释放了性能和运营效率的新高度。
致谢
- 感谢 Phi 和 AWS 团队提供的技术支持及测试集群。
- 特别感谢 Naman Lalit 在全面性能和正确性基准测试工作中的推动。
- 我们也感谢 SGLang 模型网关团队。通过复用他们成熟的 API 实现和服务框架,我们得以在保持与开放标准兼容的同时,大幅加速了设计与实现流程。
- 最后,感谢 Tyler Michael Smith 和 Robert Shaw 分享了 llm-d 的专业知识与实测数据,这些帮助我们扫清了性能优化和基准测试的障碍。