问题总结 接口响应超时
可能原因
- 网络运营服务商导致网络延迟或数据丢包
- 接口服务的系统延时
- 多线程代码执行延迟1
- 代码本身问题2
RestTemplate
使用时未设置超时时间,默认不超时- 影响超时时间的因素
- tcp 连接本身的超时时间
- nginx 默认读取后端服务的超时时间是 60s
- 上线代码未经审查3
现象描述
- A 应用日志中打印 B 应用 HTTP 接口响应超时
排查步骤
- 是否是网络问题
- B 应用是否接到 A 应用的请求:
- A 应用中打印的 B 应用的 HTTP 接口URL 及请求时间
- B 应用 tomcat/local_access_log.log 对应时间段的请求日志
- B 应用 NGINX 请求日志对应时间段的日志
- 如果对应时间段内没有接到 A 请求,则可初步判断为网络问题
- B 应用是否接到 A 应用的请求:
- 是否是其他应用
- 查看 B 应用中同一时间段是否有其依赖的应