vLLM推理性能压测K8s项目实战

📚 共计 30 章节
01
项目背景与目标
大模型推理痛点 · 为什么vLLM+K8s · 压测目标与指标定义
背景目标
02
环境准备
K8s集群搭建 · GPU节点配置 · Helm与Kubectl工具链
集群GPU
03
vLLM核心概念
PagedAttention · Continuous Batching · KV Cache管理
原理架构
04
vLLM镜像构建
Dockerfile多阶段构建 · CUDA/PyTorch兼容 · 镜像瘦身
DockerCI
05
K8s基础资源
Namespace · Pod · Deployment · Service · Ingress YAML
YAML核心
06
GPU资源管理
NVIDIA Device Plugin · MIG配置 · 共享GPU方案
GPU调度
07
vLLM在K8s上的部署
Deployment YAML · 环境变量 · Ingress · 健康检查
部署生产
08
ConfigMap与Secret管理
模型路径 · API密钥 · 环境注入 · 配置热更新
配置安全
09
持久化存储
PV/PVC · NFS/EFS · HostPath · 模型缓存策略
存储PV
10
压测工具选型
wrk · hey · locust · vegeta · ghz · 自定义脚本对比
压测选型
11
压测指标详解
吞吐量 · TTFT · TPOT · 端到端延迟 · 错误率
指标性能
12
编写压测脚本 (Python)
aiohttp异步 · 时间戳 · 延迟分布 · CSV报告
Python异步
13
编写压测脚本 (Locust)
User行为 · 请求权重 · 分布式 · Web UI/无头
Locust分布式
14
压测执行与数据采集
单/多Pod压测 · 不同并发 · Prometheus指标采集
执行数据
15
Prometheus与Grafana监控
kube-prometheus · vLLM metrics · Dashboard · 告警
监控Grafana
16
K8s HPA (水平自动伸缩)
CPU/Memory HPA · 自定义metrics · 伸缩策略调优
HPA弹性
17
K8s VPA (垂直自动伸缩)
VPA原理 · Recommend/Auto · GPU内存调整 · 与HPA共存
VPA垂直
18
Cluster Autoscaler
节点扩缩容 · GPU节点池 · Spot实例 · 缩容保护
CA节点
19
性能瓶颈分析
CPU/GPU · 显存带宽 · 网络延迟 · vLLM队列积压
瓶颈分析
20
vLLM参数调优
max_num_seqs · gpu_memory_utilization · block_size · swap
调优参数
21
推理引擎对比
vLLM vs TGI vs TensorRT-LLM vs llama.cpp · K8s差异
对比引擎
22
多模型管理与路由
Ingress分发 · 模型名称路由 · 灰度发布 · A/B测试
路由多模型
23
安全与权限控制
RBAC · NetworkPolicy · Pod Security · 镜像签名
安全RBAC
24
日志与排错
kubectl logs · EFK/ELK · vLLM日志 · CrashLoopBackOff
日志排错
25
成本优化
GPU选型 · 预留/按需/Spot · 量化FP16/INT8/INT4
成本优化
26
CI/CD流水线
GitLab CI/GitHub Actions · 自动构建 · 部署 · 压测报告
CI/CD自动化
27
压测报告生成
PDF/HTML报告 · 吞吐量曲线 · 延迟分布 · 基线对比
报告可视化
28
混沌工程与稳定性测试
Chaos Mesh · Pod故障 · 网络延迟 · 节点宕机
混沌稳定性
29
生产环境最佳实践
多副本 · 反亲和 · PDB · LimitRange · 备份容灾
最佳实践生产
30
项目总结与展望
适用场景 · Serverless推理 · 边缘推理 · 资源推荐
总结展望