首页/AI/大模型部署与运维速查/发布后冒烟:固定六个最小用例
运维监控与排障50 条

发布后冒烟:固定六个最小用例

每次发布或重启后跑固定冒烟集:健康端点、模型列表、非流式对话、流式对话、长上下文、并发小压;全部通过再放量,失败立即停止并回退。

发布后的冒烟集

每次发布或重启后跑一套固定的最小用例:健康端点、模型列表、非流式对话、流式对话、长上下文、并发小压。全部通过再放量,任何一项失败就停止并进入回退。用例固定、每次都跑,结果才有可比性。

基本信息

用例数量固定六项左右
通过标准全部通过才放量
失败处理停止放量并保留现场
执行方式脚本化,纳入发布流程
关键用例固定不随意改

典型使用场景

  • 每次发布后的自动验证
  • 实例重启后的自检
  • 新环境首次上线的确认
  • 把人工检查替换成可重复的脚本
  • 把冒烟脚本纳入发布流水线,失败即阻断继续发布

冒烟命令

冒烟命令
curl -sf http://127.0.0.1:8000/health && echo OK
curl -s http://127.0.0.1:8000/v1/models | head -c 200
curl -s http://127.0.0.1:8000/v1/chat/completions \
  -H 'Content-Type: application/json' -d @smoke.json | head -c 300
# 同一套用例每次发布都跑,结果留档对比

六个用例各验证什么

用例验证什么失败说明
健康端点进程可用启动即失败
模型列表模型已加载权重或目录问题
非流式对话基础链路核心功能异常
流式对话分块与结束标记缓冲或代理问题
冒烟集要脚本化并纳入发布流程:手工清单容易被跳过,脚本化才能保证每次发布都真的跑过。
用例保持稳定:频繁修改会让历史结果失去可比性,需要新增时另起一份扩展集。
用例要覆盖鉴权与错误路径:只测正常请求,鉴权配置改错要等业务方来发现。
并发小压要有明确的通过标准:多少并发、持续多长时间、延迟与错误率各是多少,标准写清才可判定。
记录每次冒烟的输出摘要:出问题时能对比这次与上次的差异,比重新试一遍快得多。
冒烟结果与版本号一起留档:事后回看某次发布是否健康时,这是最直接的依据。

易错点

  • 冒烟只测非流式:流式路径的缓冲与心跳问题会留到客户端才暴露
  • 用例只在短请求上验证:长上下文的问题要等上线后才出现
  • 失败后继续放量:小问题被放大成事故,应该立刻停下并回退
  • 手工跑冒烟:忙起来就被跳过,发布质量完全依赖当时的运气
  • 冒烟通过就认为万事大吉:它只覆盖最小链路,容量与长时间稳定要另做压测

数据来源与参考

  • vLLM 官方文档:OpenAI-Compatible Server(docs.vllm.ai)
  • Google SRE 手册:Release Engineering(sre.google/sre-book)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌