NextJs服务端渲染特定API请求触发CPU飙升问题求助
Next.js 服务端新增翻译API调用后CPU异常飙升问题
我们在Next.js应用的服务端渲染环节观测到异常:服务端调用逻辑新增API拉取翻译键值的逻辑后,服务器CPU占用出现异常飙升。
最初新增该逻辑是为了降低CLS,优化用户首屏加载体验,当时并未预判到该改动会存在风险——本质上只是在页面渲染前多发起一次返回JSON格式数据的普通API调用。
故障时间线与监控表现
从AWS平台的CPU使用率监控可以明确看到故障和改动的强相关性:
- 10:00-14:00 生产环境上线翻译键拉取逻辑,这段时间内每2小时就需要手动重启服务才能维持正常运行,监控图中的峰值即为重启前的CPU占用表现
- 16:00 将该API调用从对应服务端逻辑中移除后,服务器运行立刻恢复稳定
- 20:00 配置服务自动重启策略保障夜间服务可用性,但从后续监控数据来看该操作完全没有必要
已排查的基础信息
涉事API仅返回JSON对象,最多包含700组键值对,数据量远低于商品列表页单接口最多1万行的响应规模,理论上不会造成额外负载压力。
目前我们已经为next/static资源及所有API响应开启了缓存,也曾猜测问题可能和出站连接未及时关闭有关,但始终没有定位到根因。
当前运行环境配置
- 容器化(Dockerized)部署
- 底层托管平台为AWS Beanstalk
- 链路接入Cloudfront + Akamai做访问加速
- Next.js版本为v12.2
- Node运行时版本为v14.16
如果有相关排查方向的建议,欢迎告知,非常感谢。
内容的提问来源于stack exchange,提问作者Wesley Janse
相关产品推荐
相关产品推荐

