17.9.7.1 微调组通信线程

加载组复制插件时,组通信线程(GCT)循环运行。 GCT 从组和插件接收消息,处理与仲裁和故障检测相关的任务,发出一些保持活动状态的消息,并处理从/到服务器/组的传入和传出事务。 GCTawait 队列中的传入消息。当没有消息时,GCTawait。通过将此 await 时间配置为稍长一点(进行主动 await),在某些情况下可以证明是有益的。这是因为替代方法是 os 从处理器中切换出 GCT 并进行上下文切换。

要强制 GCT 进行主动 await,请使用group_replication_poll_spin_loops选项,这会使 GCT 循环在实际轮询队列中的下一条消息之前不执行与配置的循环数相关的任何操作。

For example:

mysql> SET GLOBAL group_replication_poll_spin_loops= 10000;