GaussDB 应用侧报Read timed out解决方法

1、问题现象

查看应用报错日志:An I/O error occured while sending to the backend.detail:Read timed out

2、分析过程

查看dn日志,搜索关键字"Read time out" 。

cd $GAUSSLOG/gs_log

zgrep -i 'timedout' gaussdb-2025-10-17_*****.log.gz

3、处理过程

查看JDBC url配置,查看url中是否配置socketTimeout 或者connectTimeout参数

1、当设置了connectTimeout时,JDBC创建tcp套接字进行建连时,等待的时间超过了connectTimeout,会抛出异常,这种情况,一般是网络问题或者内核通讯问题导致,需排查故障时的网络状况以及线程池使用情况。

实时查询线程池使用情况:

select node_name,session_info from dbe_perf.global_threadpool_status order by 1;

2、当设置了socketTimeout时,JDBC读取报文,调用SocketInputStream.read()函数,该函数会调用函数socketRead阻塞等待内核返还报文,当阻塞时间超过socketTimeout时,会抛出异常。

a. socketTimeout值设置是否合理;

b. 排查慢SQL;

c. 排查故障时网络状况;

d. 查看日志排查有无锁等待超时等,如下图为锁等待超时;

cd $GAUSSLOG/gs_log/

zgrep -i 'timedout' gaussdb-2025-10-17_*****.log.gz

相关推荐
七歌杜金房10 小时前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia1 天前
linux curl命令详解_curl详解
linux
扛枪的书生2 天前
Linux 网络管理器用法速查
linux
顺风尿一寸2 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode2 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫2 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao4 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐5 天前
Linux内存扩容指南
linux
zylyehuo5 天前
Linux 彻底且安全地删除文件
linux
用户805533698036 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式