(本文档仅供参考)
问题说明
...
ETL执行报错,报错日志显示:数据库返回慢,最后连接被重置了,驱动抛出了connection reset错误:
解决方案
类似驱动查询慢问题排查思路:
...
(1)根据节点输出的日志确认实际报错原因;
...
(2)实际耗时可能并不是报错耗时,建议新建SQL数据集或数据快查直接执行对应的确认执行时长,如果SQL执行快的话,可再进一步跟进是什么原因;
...
(3)若普通SQL查询就慢,可用通过JSP页面测试确认耗时:Java调用jdbc驱动测试;
...
(4)若JSP页面测试很快,请将信息反馈至官方支持;若JSP页面测试也是一样慢,请检查数据挖掘的驱动跟项目现场使用的其他JDBC工具使用的驱动是否一致,建议使用一样的驱动,若仍有问题,可以使用此文件测试工具到实际数据库服务器内进一步测试,文件:testjdbc.zip
...
;
使用说明如下:
...
将压缩包上传到数据库所在服务器的任意目录,在该目录下解压testjdbc.zip压缩包,压缩包内有四个文件:
1、复制所有驱动文件到 driver文件夹目录里:
2、修改properties、sql 文件,改成真正的数据库连接信息和实际查询慢的执行SQL语句
3、在testjdbc.zipd 解压目录中执行 /jdk/bin/jjs test.js :直接目录下运行jjs test.js 就可以,是找到当前数据库服务器是实际jdk路径,例如本地是执行:opt即可,是找到当前数据库服务器是实际jdk路径,例如本地是执行:opt/jdk1.8.0_171/bin/jjs test.js,然后看输出js,查看执行结果
4、如上图分析,数据库实际查询返回时间也很久,超时就会重置,需协调客户dba排查,确认为什么数据量不大耗时要10分钟以上,以及是否确实设置了10分钟超时。4、如上图所示,数据库实际查询返回时间也很久,超时就会重置,此时建议项目咨询dba耗时久的原因,确认为什么数据量不大耗时要10分钟以上,以及是否确实设置了10分钟超时。