不理解--max-flow-ctl参数的意思,求教啊

看官方的解释是:
Added --max-flow-ctl option to pt-online-schema-change and pt-archiver with a value set in percent. When a Percona XtraDB Cluster node is very loaded, it sends flow control signals to the other nodes to stop sending transactions in order to catch up. When the average value of time spent in this state (in percent) exceeds the maximum provided in the option, the tool pauses until it falls below again.Default is no flow control checking.
 
我的理解是:
当一个pxc节点负载过高, 会发送flow control信号给其他节点(为了追赶上). 当  处于flow control的时间 / (开始执行pt-osc/pt-archiver至当前总时间) * 100%  这个值超过--max-flow-ctl指定的值时, pt-osc/pt-archiver会暂停, 直到  处于flow control的时间 / (开始执行pt-osc/pt-archiver至当前总时间) * 100% 低于--max-flow-ctl指定的值
 
不知道我的理解对不对 ,本来想怒看一下pt-osc源码的, 结果发现.. 确实看不懂 GG
已邀请:

Fan - 菜的抠脚

赞同来自:

Fan - 菜的抠脚

赞同来自:

https://github.com/percona/percona-toolkit/blob/3.0/bin/pt-archiver#L4384-L4386
 
每100行检查一次
($current_fc_secs - $self->{last_fc_secs}) / ($current_time - $self->{last_time})
第一次 暂停时间/当前时间-开始执行时间
如果>max-flow-ctl, 等待
循环
直到<max-flow-ctl, 设last_fc_secs= current_fc_secs,   last_time=current_time

要回复问题请先登录注册