準同期レプリケーションへの管理インタフェースにはいくつかのコンポーネントがあります。
準同期機能を実装する 2 つのプラグイン。 ソース側には 1 つのプラグイン、レプリカ側には 1 つのプラグインがあります。
-
プラグインの動作を制御するシステム変数。 例:
-
rpl_semi_sync_master_enabled
ソースサーバーで準同期レプリケーションを有効にするかどうかを制御します。 プラグインを有効または無効にするには、この変数をそれぞれ 1 または 0 に設定します。 デフォルトは 0 (オフ) です。
-
rpl_semi_sync_master_timeout
ソースがタイムアウトして非同期レプリケーションに戻る前にレプリカからの確認応答をコミットで待機する時間を制御するミリ秒単位の値。 デフォルト値は 10000 (10 秒) です。
-
rpl_semi_sync_slave_enabled
rpl_semi_sync_master_enabled
と似ていますが、レプリカプラグインを制御します。
すべての
rpl_semi_sync_
システム変数は、セクション17.1.6.2「レプリケーションソースのオプションと変数」 および セクション17.1.6.3「Replica Server のオプションと変数」 で説明されています。xxx
-
MySQL 8.0.23 から、コールバックを制限するシステム変数
replication_sender_observe_commit_only
と、共有ロックを追加して不要なロック取得を回避するreplication_optimize_for_static_plugin_config
を有効にすることで、準同期レプリケーションのパフォーマンスを向上させることができます。 これらの設定は、ロックの競合によってパフォーマンスが低下する可能性があるため、レプリカの数が増えるにつれて役立ちます。 準同期レプリケーションソースサーバーは、複製と同じロックメカニズムを使用するため、これらのシステム変数を有効にすることによってパフォーマンス上の利点を得ることもできます。-
準同期レプリケーションモニタリングを有効にするステータス変数。 例:
-
Rpl_semi_sync_master_clients
準同期レプリカの数。
-
Rpl_semi_sync_master_status
準同期レプリケーションが現在ソースサーバーで動作しているかどうか。 プラグインが有効になっていてコミット通知が発生していない場合、値は 1 です。 プラグインが有効になっていない場合、またはコミット確認タイムアウトのためにソースが非同期レプリケーションにフォールバックした場合は 0 です。
-
Rpl_semi_sync_master_no_tx
レプリカによって正常に確認されなかったコミットの数。
-
Rpl_semi_sync_master_yes_tx
レプリカによって正常に確認されたコミットの数。
-
Rpl_semi_sync_slave_status
準同期レプリケーションが現在レプリカで動作しているかどうか。 プラグインが有効になっていてレプリケーション I/O スレッドが実行中の場合は 1、それ以外の場合は 0 です。
すべての
Rpl_semi_sync_
ステータス変数はセクション5.1.10「サーバーステータス変数」で説明されています。xxx
-
システム変数およびステータス変数は、適切なソースまたはレプリカプラグインが INSTALL PLUGIN
とともにインストールされている場合にのみ使用できます。