nginx request_time很大但upstream_response_time为0

来源:2-18 Nginx日志_log_format2

目科将

2018-08-23

最近线上nginx经常出现502,但后台的tomcat没有收到对应的请求(通过tomcat的访问日志没有找到对应的请求),发现nginx的access日志中很多 request_time 和我配置的超时时间一致,但upstream_response_time为0,日志配置及错误请求如下,问下老师有可能的原因是什么,可以通过哪些日志来定位(不是所有的请求都是这样,只是有部分请求会这样,我再次去请求时又会返回 200正常)

'$status $bytes_sent $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" $request_time - $upstream_response_time';


#nginx access 错误日志
502 717 537 "-" "Jakarta Commons-HttpClient/3.1" "-" 3600.000 - 3600.001, 0.000
502 717 537 "-" "Jakarta Commons-HttpClient/3.1" "-" 3600.000 - 3600.001, 0.000




写回答

1回答

Jeson

2018-08-24

是一个问题吗?我觉得你还要分析下Nginx中error的日志,502是bad gateway,这个可能你的后台服务直接出问题了,或者说进程直接挂了都可能造成这样的情况。

0
2
目科将
补充: 因为没有在后台的tomcat的服务中找到对应的请求, 说明后台服务是没有收到这个请求的,也就是说 (1)客户-->(2)nginx(有请求日志)-->(3)upstream-->(4)后端服务器-->(5)后端服务器的tomcat服务, 现在是2有日志,5没有日志, 可能出现问题是在3,4, 3 没有收到应该是nginx本身的原因(但这个除了看nginx error日志我不清楚还可以怎么定位),4的话 我当时怀疑是不是防火墙或是服务器tcp连接数过高导致的,所以我查看了下 后台服务器的系统日志及当时的tcp连接数 都是正常的,所以现在不是很思路, 另和产品确认有无业务变更, api 有一个下载文件(20多M)从http改成https了;
2018-08-24
共2条回复

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程