遇到一个下载等待1分钟后报404的问题,怎么解决?

颖辉小居 发布于 02/25 16:33
阅读 130
收藏 0

接手一个项目,nginx+tomcat 。服务端接收到导出数据的请求,进入action,因为单表数据量超过千万条,查询很慢,之后还要生成excel文件,再生成zip文件返回文件流予以下载。整个过程需要耗时比较长。在浏览器等待60~63秒时,显示nginx 的错误404。实际上看日志,服务端已经开始处理了。只是不能再1分钟之内返回文件流。怀疑是连接超时,结果看了nginx配置 连接超时时间connection_timeout,  read_timeout ,write_timeout 都设置600秒,足够长了。

请问还有什么可能造成这个原因,每次显示404 的时间基本都是60多秒。我认为不是巧合,应该是哪里的设置问题。

加载中
0
独孤晓林

单表千万都要导出???

颖辉小居
颖辉小居
有条件的导出,一次几千到几万条
0
白菜粉条炖猪蹄儿

有没有这种可能性:不立刻下载数据,待后端处理完毕后生成下载链接到页面上再去下载?

颖辉小居
颖辉小居
谢谢你的回答,因为是接手的,所以短时间不能擅自改动。运营说这个下载以前是好用的。
0
颖辉小居
颖辉小居

问题解决了,但是原因没找到,直接尝试跳过nginx发现可以下载。因为现在 nginx 下只指向这一台tomcat。所以决定不用nginx了。

颖辉小居
颖辉小居
回复 @逆流de鱼 : 对没走nginx 代理,因为虽然定位到nginx 了,但是不知道确切原因。nginx 的超时时间已经设置的足够长了。
逆流de鱼
逆流de鱼
之前也遇到这个问题,tomcat端日志正常,超过2分钟nginx端直接报404,请问怎么绕过?不走nginx代理?
返回顶部
顶部