几种因网络波动导致应用与数据库操作异常的现象
文章目录环境文档用途详细信息环境系统平台银河麒麟 X86_64版本4.5.8文档用途介绍几种因网络波动导致应用与数据库操作异常的现象。详细信息网络超时相关应用端常见的连接超时相关报错信息如Connection is not available, request timed out after 30000ms. An I/O error occurred while sending to the backend. java.net.SocketException: Connection timed out (Write/Read failed)数据库端常见的报错信息如could not send data to client could not receive data from client当应用端有报错信息“An I/O error occurred while sending to the backend.”时可以采取以下排查方向1、传参和结果集数据量太大网络传输限制等2、传参参数配置错误或格式错误写错等3、排查数据库进程是否有waiting状态锁、长事务、synchronous_standby_names 等4、排查网络数据库和应用之间网络稳定性特别是跨网段的情况telnet、ping无法确定网络稳定性当应用端有报错信息数据库端也有报错信息时基本确认是网络不稳定导致的但是用telnet、ping检测时网络是正常的。这时需仔细检查应用配置的数据库连接参数信息。当以上方案均无法确定问题时需要将应用和数据库部署在同网段甚至是同一台服务器测试看是否有报错信息相同网段时若网络配置不正确也会有以上报错。当使用proxy时需取消proxy直连数据库测试是否有报错信息。文章【019523501 应用程序报错An I/O error occurred while sending to the backend】中提到的socketTimeout参数默认值为0(秒)永不超时需要根据实际情况配置某些情况下配置超时断开可以防止客户端无限期地等待响应从而避免资源被长时间占用防止数据库操作因网络问题或服务器无响应而长时间阻塞。SQL执行异常情况一管理工具和psql执行sql很快但是应用代码执行sql时快时慢。将应用和数据库部署在同一台服务器验证sql执行情况若执行很快说明数据库执行sql正常需排查其他问题若同样执行时快时慢需仔细排查数据库运行情况。情况二管理工具执行sql很快但是psql与应用代码执行sql很慢psql中使用schema.table执行也很慢但是set search_path后执行sql很快。这种情况是数据库通过search_path检索表慢如果使用的是jdbcjdbc连接串添加currentSchema可以解决此问题。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2476437.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!