问题现象
在高可用测试中,拔掉网线,单节点失效后,反馈结果从秒级产生了7 分钟的延
迟。
解决方法
若socket send buffer 中有数据,则keepalive 机制失效,规避方法为修改
/proc/sys/net/ipv4/tcp_retries2 =3。建议在安装的时候自动修改此参数。
若正常执行20 秒的sql 断网线后阻塞3 分钟报错返回,
keepalive 机制起作用。
说明
关于keepalive 的参数默认值为3 分钟(120+5*12 = 180 S)返回,如果客户对返回
时间有要求,可以减少默认值:
•
gcluster_connection_keep_idle = 120;//多长时间没响应开始探测网络,
此参数最
小值为60s;
•
gcluster_connection_keep_interval=5;//每次探测间隔时间,单位:S;
•
gcluster_connection_keep_count=12;//探测的次数。
例如可以修改如下,将在70 秒(60+2*5)内返回:
GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
97
gcluster_connection_keep_idle =60;
gcluster_connection_keep_interval=2;
gcluster_connection_keep_count=5;