GaussDB(DWS)gds导数失败问题分析整理
【摘要】 【问题描述】Gds导出数据过程中报错 xxx connect failed【业务背景调研】现场300节点,4个主DN/节点:3节点服务端+3节点备gds服务端,对外提供虚拟ip两两互为主备,每节点1个gds进程,目前此套gds服务端业务偶现周六凌晨3点出现报错需要客户手动重试后规避【问题分析】1、查看gds进程网络建联情况:gds已接受12万个连接,还有9776个连接排队等待gds接收,达到...
【问题描述】
Gds导出数据过程中报错 xxx connect failed
【业务背景调研】现场300节点,4个主DN/节点:3节点服务端+3节点备gds服务端,对外提供虚拟ip两两互为主备,每节点1个gds进程,目前此套gds服务端业务偶现周六凌晨3点出现报错需要客户手动重试后规避
【问题分析】
1、查看gds进程网络建联情况:gds已接受12万个连接,还有9776个连接排队等待gds接收,达到gds处理上限,处理不过来的连接并导致accept队列满,最后导致DN端超时报connect timeout
2、使用top查看gds主线程在并发导数过程中会出现CPU占用高的情况
3、查看对应时间主线程堆栈均在epool_wait
4、查看gds启动监听端口数启动时候listen上限指定10000
5、进一步观察gds进程堆栈调用epoll_wait是将timeout给成0反复调起epoll占用cpu高
6、使用perf分析gds行为发现主要瓶颈在主线程建联, 反复调用epoll_wait系统函数
【规避措施】
根据现场业务特征通过降低并发gds导出业务进行规避,观察一周后问题未复现。
参考:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)