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

如何利用 Nginx 日志发现潜伏在后端服务器中的“慢 SQL”间接影响

阿浩姑娘_4554

阿浩姑娘_4554

发布时间:2026-05-09 17:07:06

|

693人浏览过

|

来源于php中文网

原创

Nginx日志虽不显示SQL,但通过$request_time与$upstream_response_time对比可定位慢请求根源:若二者接近,瓶颈在后端(大概率慢SQL);若差值大,则问题在网络、客户端或Nginx配置。

如何利用 nginx 日志发现潜伏在后端服务器中的“慢 sql”间接影响

直接看 Nginx 日志本身不会显示 SQL 语句,但它能暴露后端慢响应的“痕迹”。真正拖慢请求的往往不是 Nginx,而是它代理转发后、由 PHP/Python/Java 等应用调用数据库执行的慢 SQL。Nginx 日志里的 request_time 和 upstream_response_time 就是关键突破口。

盯住两个时间字段:定位慢在哪一层

Nginx 访问日志中必须包含这两个变量(需自定义 log_format):

  • $request_time:客户端发起请求到 Nginx 完全返回响应的总耗时(单位:秒,精度毫秒)
  • $upstream_response_time:Nginx 向后端(如 PHP-FPM、Tomcat)发起请求,到收到完整响应的时间(单位:秒,可多个值用逗号分隔)

对比二者就能快速判断瓶颈位置:

  • 如果 $upstream_response_time 接近 $request_time(比如差值<0.05s),说明耗时主要在后端服务内部——极大概率是慢 SQL 或逻辑卡顿
  • 如果 $upstream_response_time 很小(如 0.02s),但 $request_time 很大(如 3.8s),问题可能出在网络传输、客户端弱网、或 Nginx 自身配置(如 large_client_header_buffers 不足导致缓冲等待)

用日志筛选出可疑请求并关联线索

例如,提取所有 upstream 响应超 1.5 秒的请求,并附带 URL 和状态码:

awk '$NF > 1.5 {print $7, $9, $10}' /var/log/nginx/access.log | sort -k2nr | head -20

其中 是 $request(含 method+path), 是 $upstream_response_time, 是 $status。再进一步可加 $http_x_forwarded_for 或 $http_user_agent 辅助排查是否来自特定爬虫或异常客户端。

Nginx Hosting
Nginx Hosting

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

下载

重点标记那些:
• 返回 200 却耗时很高(排除错误干扰)
• 路径重复出现(如 /api/user/profile、/search)
• 参数结构相似(如 ?id=123、?id=456)——暗示同一段代码反复执行慢查询

顺藤摸瓜,把 Nginx 日志线索对接到数据库慢日志

一旦锁定高频慢路径,立刻去查对应后端服务的数据库慢查询日志:

  • MySQL:确认 slow_query_log=ON,long_query_time=1,然后用 mysqldumpslow -s t -t 10 /var/log/mysql/mysql-slow.log 找出最耗时的 SQL
  • PostgreSQL:检查 log_min_duration_statement = 1000(毫秒),日志中搜索 duration: 字段
  • 再用 EXPLAIN ANALYZE 执行对应 SQL,看是否走索引、是否回表、是否扫描行数过多

注意比对时间戳:Nginx 日志里某条请求发生在 [10/May/2026:10:22:33,就去数据库慢日志里查那个时刻前后 ±10 秒内的慢 SQL,提高命中率。

建立常态化监控闭环

单次分析只能解决已发生的慢请求。要提前发现潜伏问题,建议:

  • 每天定时用脚本统计 upstream_response_time > 1.0 的请求数量和 TOP 5 路径,邮件告警
  • 在 Grafana + Prometheus 中接入 Nginx 的 nginx_upstream_response_sec 指标,设置 P95 上升阈值触发预警
  • 对高风险接口(如搜索、报表导出)强制要求添加 trace_id,并透传到应用层与数据库日志,实现全链路追踪

热门AI工具

更多
SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

蛙蛙写作

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

豆包大模型

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

WorkBuddy

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

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

DeepSeek

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

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

相关专题

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

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

2763

2023.08.11

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

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

6930

2024.03.19

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

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

6426

2024.03.19

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

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

457

2023.08.15

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

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

960

2023.09.08

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

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

3292

2023.09.19

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

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

1076

2023.10.09

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

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

969

2023.10.17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

60

2026.10.28

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
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