## 18.7 组复制性能和故障排除

[18.7.1 微调组通信线程](group-replication-fine-tuning-the-group-communication-thread.html)
[18.7.2 流量控制](group-replication-flow-control.html)
[18.7.3 单一共识领导者](group-replication-single-consensus-leader.html)
[18.7.4 消息压缩](group-replication-message-compression.html)
[18.7.5 消息分片](group-replication-performance-message-fragmentation.html)
[18.7.6 XCom 缓存管理](group-replication-performance-xcom-cache.html)
[18.7.7 对故障检测和网络分区的响应](group-replication-responses-failure.html)
[18.7.8 处理网络分区和仲裁丢失](group-replication-network-partitioning.html)

[](<>)[](<>)

Group Replication 旨在创建具有内置故障检测和自动恢复功能的容错系统。如果成员服务器实例自愿离开或停止与组通信，则其余成员同意在他们之间重新配置组，并在需要时选择新的主服务器。被驱逐的成员会自动尝试重新加入该组，并通过分布式恢复进行更新。如果一个组遇到一定程度的困难，以至于它无法联系其大多数成员以就决定达成一致，它会认为自己失去了法定人数并停止处理交易。组复制还具有内置机制和设置，可帮助组适应和管理工作负载和消息大小的变化，并保持在底层系统和网络资源的限制范围内。

Group Replication 的系统变量的默认设置旨在最大限度地提高组的性能和自主权。本节中的信息旨在帮助您配置复制组，以优化您在特定系统上遇到的任何重复性问题的自动处理，例如瞬时网络中断或超出服务器实例资源的工作负载和事务。

如果您发现组成员被驱逐和重新加入组的频率比您希望的要高，则组复制的默认故障检测设置可能对您的系统过于敏感。这可能是在较慢的网络或机器、具有高意外瞬时中断率的网络或在计划的网络中断期间的情况。有关通过调整设置来处理这种情况的建议，请参阅[第 18.7.7 节，“对故障检测和网络分区的响应”](group-replication-responses-failure.html).

如果发生了组无法自动处理的事情，您应该只需要手动干预组复制设置。可能需要管理员干预的一些关键问题是当成员在`错误`状态并且无法重新加入组，或者当网络分区导致组失去仲裁时。

-   如果其他正常运行和配置的成员无法使用分布式恢复加入或重新加入组，并且仍然在`错误`状态，[第 18.5.4.4 节，“分布式恢复的容错”](group-replication-distributed-recovery-fault.html)解释可能的问题。一个可能的原因是加入的成员有额外的事务，这些事务在组的现有成员上不存在。有关处理这种情况的建议，请参阅[第 18.4.1 节，“GTID 和组复制”](group-replication-gtids.html).

-   如果一个组失去了仲裁，这可能是由于将组分成两部分的网络分区，或者可能是由于大多数服务器出现故障。有关处理这种情况的建议，请参阅[第 18.7.8 节，“处理网络分区和仲裁丢失”](group-replication-network-partitioning.html).
