记一次通过nginx反代网站请求总是超时的问题

问题描述

公司网站一个页面通过点击“导出数据”来进行数据的导出,后台是通过sql语句进行查询然后再导出为excel文件,因为需要查询数据过多,所以执行起来较慢,每次在等待导出一分钟之后提示网站请求超时。

解决思路

一开始查看了tomcat的连接超时时长,发现时间为20000ms,所以不是tomcat的问题,因为后台是通过nginx反向代理到tomcat,所以就把问题定位到了nginx。然后尝试了keepalive长连接,proxy_send_timeout和proxy_connect_timeout,发现都不能解决问题。后来查看nginx的错误日志发现如下报错信息:

定位问题出现于nginx等待tomcat返回请求的时候超时了,然后添加如下参数解决问题:
proxy_read_timeout 300s

总结:

proxy_read_timeout:nginx等待读取上游服务器响应报文的超时时长;
proxy_send_timeout:nginx发送请求报文到上游服务器的超时时长;
proxy_connect_timeout:上游服务器和nginx的连接超时时长;

posted on   生活不如诗  阅读(2629)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示