文档首页
MySQL 8.4 参考手册
相关文档 下载此手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  减少缓存大小

20.7.6.2 减少缓存大小

在 MySQL 8.4 中,XCom 消息缓存大小的最小设置为 128 MB,这使得能够在可用内存有限的主机上进行部署。如果主机位于不稳定的网络上,则不建议将 group_replication_message_cache_size 设置为非常低的数值,因为较小的消息缓存会使组成员在连接暂时丢失后更难重新连接。

如果重新连接的成员无法从 XCom 消息缓存中检索到所需的所有消息,则成员必须离开组并重新加入组,以便从另一个成员的二进制日志中使用分布式恢复检索丢失的事务。默认情况下,离开组的成员会进行三次自动重新加入尝试,因此重新加入组的过程仍然可以在没有操作员干预的情况下进行。但是,使用分布式恢复重新加入是一个比从 XCom 消息缓存中检索消息长得多且复杂得多的过程,因此成员需要更长时间才能变为可用,并且组的性能可能会受到影响。在稳定的网络上,成员连接暂时丢失的频率和持续时间会降到最低,因此这种事件发生的频率也会降到最低,因此组可能能够容忍较小的 XCom 消息缓存大小,而不会对性能产生重大影响。

如果您正在考虑降低缓存大小限制,您可以使用以下语句查询性能架构表 memory_summary_global_by_event_name

SELECT * FROM performance_schema.memory_summary_global_by_event_name
  WHERE EVENT_NAME LIKE 'memory/group_rpl/GCS_XCom::xcom_cache';

这将返回消息缓存的内存使用情况统计信息,包括当前缓存的条目数量和当前缓存大小。如果您降低缓存大小限制,XCom 会删除最旧的已决定和已交付的条目,直到当前大小低于限制。在删除过程进行期间,XCom 可能会暂时超过缓存大小限制。