Node.js 中处理 CPU 密集型任务的实战:从阻塞事件循环到 Worker Threads 落地
线上服务每隔一段时间就会出现接口响应变慢,监控里 event loop lag 飙升到几百毫秒,但 CPU 使用率并没有打满。排查下来发现是一个计算 PDF 页数的接口,用纯 JS 解析了一个几十 MB 的文件,同步遍历字节流的过程把主线程堵死了。Node 的单线程模型让所有 I/O 回调都排在这个计算任务后面,于是同一进程里的其他请求全部被拖慢。这个问题在图片处理、数据加解密、大 JSON 转换、报表生成等场景里很常见,本质是把 CPU 密集型逻辑放到了不该放的地方。这篇文章从一个真实接口出发,聊怎么定位...