应用:x86 centos7
数据库:1-2-128-22.08.12--20005-ENT
测试数据库有两个相互隔离的IP,应用可通过两个IP连接数据库,当断开正在连接的一个网卡后,不能立即切换,程序卡住时间过长问题。应用部署于windows时正常。

如上图所示客户端初始连接ip为192.168.44.130 当关闭改网卡后程序卡住12分钟。
通过设置连接超时等参数均未解决,通过咨询专家提供TCP/IP连接排查方向。通过程序跟踪,确定确为与TCP连接相关,测试修改TCP相关内核参数,最终确定与linux tcp 断网重连net.ipv4.tcp_retries2参数相关
- 创建测试用户和表
- 配置服务名连接
- 编写DCI测试用例
- 编译脚本并运行
- 断网卡住后进行跟踪
pstack查看

通过跟踪发现tcp连接已建立,但一直未断开


修改应用端内核参数
修改后sysctl -p生效
再次执行脚本,断网测试,时间缩短为12s,确定断网程序卡住时间过长是因为内核参数导致

tcp_retries2 :INTEGER
默认值为15
在丢弃激活(已建立通讯状况)的TCP连接之前﹐需要进行多少次重试。默认值为15,根据RTO的值来决定,相当于13-30分钟(RFC1122规定,必须大于100秒).
到此这篇达梦数据库连不上(达梦数据库连接数)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/48830.html