由于查询数据速度较慢或者数据量较大导致 传递给浏览器端 超时
因为HTTP请求默认连接超时时间为30秒,不知道各位大佬有没有好的方法?
开发包用的POI
由于查询数据速度较慢或者数据量较大导致 传递给浏览器端 超时
因为HTTP请求默认连接超时时间为30秒,不知道各位大佬有没有好的方法?
开发包用的POI
http请求是有连接超时,但是仅是建立连接时的超时,如果你的网络正常的话,服务器不会出现连接超时的,导出excel慢,只会导致响应比较慢,比如下载一个大文件,即使下载一个小时,浏览器也不会报连接超时的。
15 回答8.3k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答4k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
对,我也遇到过这种问题,但是那个超时时间确实像i38me说的,是不会超时的,我猜测你们的应用前置还配置有一个反向服务代理,比如我们这边用的nginx,nginx可以配置连接超时时间
但是确实有时候很多导出会很慢,优化导出性能当然是你要做的,但是修改返回方案也是可行的,不用同步返回,比如我们这边才用异步导出模式,导出请求过来了,只要校验没啥问题,就直接返回成功,异步起线程去导出,最终结果用邮件的方式发给那个人
当然由于导出时间很长,说明数据量大,业务处理复杂,这时可能对系统资源占用较高,导致系统对其他响应反应较慢,建议导出功能最好单独应用部署(不与其他业务功能放在同一个应用上),最好是单独的只读库,不与主数据库直连,不然要是查询逻辑复杂,有可能把主数据库拖垮(我们就遇到过...痛苦死...一个导出功能执行,其他应用反应都巨慢...捂脸...),要是只是拖垮只读库也还好,不会影响正常应用上的功能
以上是我的建议,仅供参考哈