Linux Nginx 代理超时提示 504 怎么检查后端服务的负载情况

梦伟姑娘_8533

梦伟姑娘_8533

2026-09-26

714人浏览

原创

504错误主因是后端响应缓慢或nginx超时设置过短,需结合健康检查、连接日志、后端资源监控与依赖链路验证综合排查。

linux nginx 代理超时提示 504 怎么检查后端服务的负载情况

504 错误说明 Nginx 已成功连上后端,但等不到响应——问题不在连接通不通,而在后端是否“忙得顾不上”。检查负载不能只看 CPU 百分比,要结合进程状态、连接数、内存压力和应用层指标,才能判断它是不是真卡住了。

查系统资源水位

登录后端服务器,快速跑这几个命令:

  • CPU 与负载:运行 top 或 htop,重点关注 load average(1/5/15 分钟)是否持续高于 CPU 核心数;同时观察 %Cpu(s) 中的 us(用户态)、sy(内核态)和 wa(I/O 等待)。若 wa 长期 >20%,说明磁盘或网络 I/O 拖慢了处理
  • 内存与 OOM 风险:执行 free -h 看 available 是否严重不足;再查 cat /proc/meminfo | grep -i "commit\|oom",确认是否触发过 OOM Killer(如日志里有 killed process php-fpm 就是铁证)
  • 磁盘空间:运行 df -h,特别留意 /var/log、/tmp 和应用日志目录。满盘会直接导致写入类请求阻塞,后端看似活着却无法响应

看后端服务真实连接与线程

活跃连接数 ≠ 能干活的连接数,得看它到底在做什么:

linux-sysadmin
linux-sysadmin

Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...

下载
  • 当前 ESTABLISHED 连接数:用 ss -tn state established '( sport = :8080 )' | wc -l(替换为实际端口),对比 Nginx 的 upstream_keepalive 值。如果远超 keepalive 上限,说明连接复用失效,大量短连接堆积
  • 应用线程/Worker 状态:
    • Java 应用:用 jstack <pid></pid> 看线程栈,重点搜 WAITING、BLOCKED、parking to wait;配合 jstat -gc <pid></pid> 查 GC 频率和停顿时间
    • Node.js:运行 node --inspect-brk your-app.js 后用 Chrome DevTools 检查事件循环延迟(Event Loop Latency)
    • PHP-FPM:查 pm.status_path 对应的 status 页面,看 active processes 是否接近 pm.max_children

验证健康接口与关键依赖

别信“服务进程在跑”,要它亲口说“我好了”:

  • 用 curl -w "\n%{time_total}\n" -o /dev/null -s http://localhost:8080/health 测健康端点耗时。若 >3 秒或超时,说明应用自身已不可靠
  • 手动模拟一次业务请求的关键链路:比如 curl 后端的订单接口 → 查数据库慢查询日志 → telnet Redis 端口测连通性 → 查下游 HTTP 接口响应时间。504 往往不是后端慢,而是它卡在某一个下游依赖上
  • 检查数据库连接池:MySQL 执行 SHOW STATUS LIKE 'Threads_connected';,对比应用配置的最大连接数;PostgreSQL 查 pg_stat_activity 中 state = 'idle in transaction' 的长事务

对照 Nginx 日志反推后端表现

不要孤立看后端,要和 Nginx 日志对齐时间点:

  • 从 error.log 找一条典型 504 记录,提取 upstream 地址和时间戳,例如:upstream: "http://10.0.1.22:8080/api/pay" 和 2026/09/25 05:33:17
  • 在同一台后端服务器上,查该时刻前后 30 秒的应用日志(如 Spring Boot 的 application.log),搜索对应 URI 或 traceId,看是否有 ERROR、timeout、Connection refused 等关键词
  • 再查 access.log 中同一秒的请求量突增情况,确认是否因突发流量压垮了单点

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux nginx

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2123

5

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5690

13

后端的主要工作内容介绍
后端的主要工作内容介绍

后端是应用程序的服务端部分,负责核心任务,如数据库交互、业务逻辑处理和响应客户端请求。想了解更多后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

4986

10

服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

840

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2472

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

836

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

729

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

374

3

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习