mount
1
Raft 论文中建议Election Timeout 在150ms和300ms范围随机选择一个值。
通过查看TiKV相关参数发现:
TiKV Raft group Leader 每个2s发送一个心跳
raft-base-tick-interval (default 1)* raft-heartbeat-ticks (default 2) 时间发送一次心跳
Follower在10s内没有收到心跳则,转换为Candidate发起投票。
raft-election-timeout-ticks
默认为10s
发起选举时经过的 tick 个数,即如果处于无主状态,大约经过 raft-base-tick-interval * raft-election-timeout-ticks 时间以后发起选举。
是这样吗?
1 个赞
具体一点,应该是raft-min-election-timeout-ticks
和raft-max-election-timeout-ticks
之间随机选择一个值作为election timeout时间,这两个参数默认值应该是10s和20s。在3.0以前的版本,raft模块是单线程的,为了防止region过多的情况下不稳定,所以该默认值偏大。由于3.0中raft模块改为线程池了,所以该值在3.0版本后可以适当设置小点,我测试过6~8s,平均800bytes的key和500bytes的value,200亿数据,万级别的OPS,没有发现不稳定的现象。
4 个赞
system
(system)
关闭
4
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。