没有崩溃、没有报错——我的 CPU 在 390% 跑了整整一个小时
来源:dev.to/mrviduus — 2026-07-21 发布
📋 概述
用户上传了一份 106 页的 PDF,点击"问这本书"。屏幕显示"准备中…0/0",持续了一个小时。没有错误、没有失败请求、日志中没有任何异常——只有一条平坦的 CPU 线:恰好 390%,几乎精确到 4 核。作者为 GPT-4.1 付费了,但 OpenAI 仪表板显示零流量。根因:几天前的一个可靠性修复将索引作业从 HTTP 请求移到了后台 Worker,API 和 Worker 是独立进程各有自己的配置文件,API 配置中有 pdf.parse → openai-pdf 路由,但 Worker 配置中没有。路由查找 pdf.parse 时找到了空值,优雅降级到了默认的本地 Ollama——在无 GPU 的 CPU 容器上以每页 42 秒的速度解析 106 页,总计 74 分钟。一张图说明一切:一个"工作但错了"的回退比崩溃危险得多。
🔑 核心要点
- 没有报错有时比崩溃更危险:崩溃一分钟内就能触发告警,静默回退在错误硬件上跑了 74 分钟。
- 根因是 配置不同步:API 和 Worker 是独立进程各带自己的 appsettings.json,可靠性修复移动了作业但没有移动配置。
- 路由回退机制本应是安全网,却成了 静默的定时炸弹:pdf.parse 找不到路由 → 回退到 Ollama → CPU 上解析视觉任务。
- 实际测量:Ollama 在 CPU 上每页 42 秒,106 页 ≈ 74 分钟,全部阻塞整个 RAG 管线。
- 教训:移动了工作就要移动配置,任何涉及多进程或多服务的架构变更必须检查所有配置源。
💡 金句
Nothing failed. That was the problem. A crash would have paged me in a minute. A fallback that "works" can burn for an hour.
👍 0👎 0
← 返回 Dev.to 首页