讲师中心 微信公众号
AI工具推荐 视频效率加速

Nginx 怎么在 Nginx 中排查日志中出现 `upstream timed out` 的深层网络原因

轻浩小哥_5480

轻浩小哥_5480

发布时间:2026-07-31 11:01:28

|

256人浏览过

|

来源于php中文网

原创

“upstream timed out”是现象而非根因,需结合错误后缀锁定卡点阶段(如connecting/reading header/prematurely closed),配合$upstream_connect_time与$upstream_header_time耗时、$request_time与$upstream_response_time对比、tcpdump抓包及nc实测,精准区分网络层、Nginx侧或后端业务瓶颈。

nginx 怎么在 nginx 中排查日志中出现 `upstream timed out` 的深层网络原因

看到 upstream timed out,别急着调大超时值——它只是现象,不是根因。真正要查的是“在哪卡住”和“为什么卡”,尤其当常规调参无效、后端响应实际很快时,问题往往藏在底层网络链路里。

先锁定超时发生的精确阶段

错误日志括号里的描述是第一线索,直接决定排查方向:

  • while connecting to upstream:TCP 三次握手失败。重点查 SYN 是否发出去、有没有 ACK 回来。可能原因包括后端服务未监听、防火墙拦截、路由不可达、或上游 accept 队列溢出(ss -lnt | grep :端口 中 Recv-Q 持续 ≥ Send-Q);
  • while reading response header from upstream:连接已建好,但迟迟收不到第一个字节(HTTP 状态行)。说明请求已送达后端,但业务逻辑卡在数据库锁、远程调用、磁盘 I/O 或 CPU 调度上;
  • upstream prematurely closed connection:后端主动断开了连接。常见于 PHP-FPM ondemand 模式回收进程、Spring Boot 默认 60s idle timeout 与 Nginx keepalive 不匹配,或中间 LB(如云厂商 ELB)静默关闭空闲连接。

用工具实测链路连通性与延迟

日志只能告诉你“超时了”,工具才能告诉你“卡在哪一跳”:

Nginx Hosting
Nginx Hosting

通过服务器本地nginx实例实现零认证静态游戏托管。作为所有浏览器游戏的主要部署方式,无需登录、无需令牌、无需用户操作。

下载
  • 用 nc -zv 后端IP 端口 快速验证基础连通性和端口可达性;
  • 用 tcpdump -i any host 后端IP and port 端口 -w timeout.pcap 抓包,过滤出对应请求的 TCP 流,看是否有 SYN 重传、RST 包、或 ACK 延迟;
  • 用 mtr -r -c 50 后端IP 查中间跳点丢包率和延迟突增位置(尤其注意云环境中的 NAT 网关、安全组、SLB);
  • 若使用 Kubernetes 或 Service Mesh,检查 Istio Sidecar、CNI 插件日志,确认是否因策略限流或 mTLS 握手失败导致连接阻塞。

对比耗时字段,分离 Nginx 侧与后端侧延迟

确保 access_log 中启用了关键变量:

  • $upstream_connect_time 高 → 网络层或后端接入层问题(DNS 解析慢、SYN 重传、防火墙策略);
  • $upstream_header_time 高(但 $upstream_connect_time 正常)→ 请求已到后端,但业务没及时返回响应头,需查后端线程阻塞、慢 SQL、锁竞争;
  • $request_time 远大于 $upstream_response_time → 延迟在 Nginx 本体:可能是 rewrite 循环、大量 subrequest、SSL 握手耗时高,或 gzip 压缩大响应体卡住;
  • 两者都高且接近 → 后端整体吞吐不足,查 CPU 负载、内存 OOM、文件描述符耗尽、或 jbd2 等内核级 I/O 卡顿(iotop 和 top 中 wa% > 90% 是典型信号)。

检查连接复用与中间设备兼容性

高频短请求下,反复建连会放大网络抖动影响:

  • 确认 upstream 块启用 keepalive 32,location 中配套 proxy_http_version 1.1 和 proxy_set_header Connection '';
  • 用 ss -tn state established | grep :后端端口 观察 ESTAB 连接数是否稳定,而非频繁新建/关闭;
  • 若后端是云服务(如阿里云 SLB、腾讯云 CLB),确认其空闲连接超时设置(通常 4–60 分钟),必须大于 Nginx 的 keepalive_timeout 和后端自身 idle timeout;
  • 禁用中间设备的“TCP 优化”或“连接跟踪加速”功能,某些硬件网闸或 SD-WAN 设备会在无数据时强制中断长连接,导致 Nginx 复用失效后报 timeout。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

403

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3567

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

6305

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

581

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1496

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3958

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

122

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

477

2026.01.13

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

0

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

nginx手册
nginx手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn