proxy_connect_timeout 2s; proxy_read_timeout 3s; proxy_next_upstream error timeout;
图片服务偶尔卡住,首页要等 30 秒才出内容,Network 里图片请求一直 pending,HTML 其实早就下载完了。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:首屏大图写在 HTML 里同步请求,图片服务没有设超时,连接一直挂着。浏览器把这张图算进关键渲染路径,后面内容跟着等。
「图片服务阻塞渲染」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。
把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。改完隔一天再看一次,当场正常不代表能稳住。
处理上按这个顺序:图片服务侧把超时压到 3 秒,超时直接返回占位图;首屏之外的图片全部改成异步加载,别阻塞渲染;前端加 onerror 兜底,加载失败立刻换本地占位图。
确认没问题再收工,图片服务卡住时首页 3 秒内出内容,图片位置显示占位图。
