暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

万里数据库GreatDB事务dtm 请求超时时间

原创 Dbb 2024-05-23
240

dtm client timeout variables

事务dtm 请求超时时间

参数 “greatdb_dtm_trx_timeout” 默认值6secs.

当事务向dtm server 发从请求后, 等待 从dtm server 收到回应的超时值.

这个值要大于“greatdb_dtm_server_wait_sync_time”, 在 dtm server

时钟发生漂移的情况下,dtm server 会等待时钟同步,这会增加处理时间,同时

greatdb_dtm_trx_timeout” 超时会导致重连, 但是时钟漂移本身不是网络错误,

所以为避免无效的重连需要设置该值大于 “greatdb_dtm_server_wait_sync_time”。

这请求超时后, 会断开与dtm server的会话, 尝试重新连接到dtm server.

这个值主要时处理dtm client或者dtm server 相应的通信端口/网卡故障。

重连的配置由另外两个参数控制。

dtm client与server链接故障时 重连次数与间隔

greatdb_dtm_client_con_count” 默认值1000

greatdb_dtm_client_con_interval” 默认值 5000 毫秒

无论时因为可侦测的网络故障还是greatdb_dtm_trx_timeout超时了, dtm client的行为都是尝试重新连接到dtm server.

这两个参数控制重连的行为:在网络不稳定的情况下,dtm client 会尝试 greatdb_dtm_client_con_count次, 每次间隔greatdb_dtm_client_con_interval

重连到dtm server. 重连的行为如下:

  1. 在参数配置的范围内连接成功,可以继续提供服务。

  2. 在重连的过程中,可能会有新dtm server 选举成功, 这时放弃重连,用新的dtm server建立连接。

  3. 重连失败.

在重连期间dtm client TPS掉零。

dtm cient 与dtm server建立连接的重试次数

greatdb_dtm_client_connect_tries” 默认值: 4

这个实际是设置dtm client socket 上的net.ipv4.tcp_syn_retries 参数值。linux系统默认值是6, 也就是默认要等 127(1+2+4+8+16+32+64) 秒, 才认为是connect 失败。

dtm client这个参数的默认值是4, 也就是说 在dtm server/client端口或者网卡down, 在网络不稳定的情况下, 导致不能建立网络连接时, 需要等待默认31秒 才认为连接失败。

与dtm server建立会话超时时间

处理 dtm client 与 server 建立连接的过程中,检测网路故障的超时值。 在dtm client与server 建立会话的过程中, 这两者的通信模式是同步的。在send/recv过程中出现网络故障的时候, 这两个函数send/recv会被block,若block的时间超过“greatdb_dtm_handshake_timeout” 则认为连接、建立会话失败。

若是建立会话失败:失败的dtm client上的TPS为零; 相应的dtm server是无效的。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论