我在 DigitalOcean 上让六个模型赛跑:最便宜的那个赢了
来源:dev.to — 2026-09-01
📋 概述
作者坦承自己给模型接端点时总偷懒,随手用上次用过的或最新读到的模型,承诺之后好好基准测试却永远等不到。于是他写了个约 390 行的 Python 工具,让六个模型并行流式回答同一个提示词,并在下方显示首 token 时间和每次运行的成本。试验中他最意外的收获是:预期 gunicorn 同步 worker 会导致页面挂起,实际它没挂,而是六个并发流在单个 worker 上排队——每个流的首 token 都在上一个结束后才出现,六条请求花了 10.7 秒;切到 gthread 16 线程后,四条首 token 落在 1.4 秒窗口内,总耗时降到 6.4 秒。结论是:最便宜的那个模型胜出。
🔑 核心要点
- 六个模型并行流式回答同一提示词,同时显示首 token 时间与每次成本
- 预期 gunicorn 同步 worker 会让页面挂起,实际是六条并发流排队逐个处理
- 切到 gthread 线程池后,四条首 token 挤进 1.4 秒窗口,总耗时从 10.7 秒降到 6.4 秒
- 浏览器对每个模型开一个 EventSource,Flask 保持同步,无事件循环与编排层
- DigitalOcean 推理端点兼容 OpenAI 协议,接入只差两行配置
💡 金句
后端放流式响应时,同步 worker 不是挂起,而是悄悄把并发变成了排队。
👍 0
👎 0
← 返回 dev.to 首页