MySQL 8.4 版本注意事項
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 可能會暫時超過快取大小限制。