一、异常说明
二、定位问题代码
一看问题, 上下文都是与订单相关的内容。
查询代码的使用地方,发现出现在这个Mybatis的select语句中
查看备注,发现是订单物流,那就没跑了, 肯定是商城的物流模块出了问题
那是什么地方用到了这个物流模块而且涉及到导出功能呢?
经验告诉我,只有商品订单导出时,才会用到这个功能。
那就试试呗,点击了“导出订单”按钮,等了大概30S左右,GG导出失败了!
这个时候,不要慌,F12呼出Chrome控制台,看看前端Chrome控制台输出的错误日志先,熟悉的timeout又出现了。还记得上一篇timeout还是外部的原因,这一次总该不会又是外部问题吧?
【异常】原来提示SocketTimeoutException:connect timed out还可能是外部因素导致
继续往下,看看到network 网络的输出如下,在导出30s没有响应之后,直接提示无法加载响应数据。
三、修复问题
(1)增加Nginx中超时时间
(2)控制前端下载的业务按钮,必须要先筛选条件之后再导出
(3)更换Excel导出框架,支持大数据量的动态导出