MySQL 8.0 Reference Manual Including MySQL NDB Cluster 8.0
The administrative interface to semisynchronous replication has several components:
Two plugins implement semisynchronous capability. There is one plugin for the source side and one for the replica side.
System variables control plugin behavior. Some examples:
Controls whether semisynchronous replication is enabled on the source server. To enable or disable the plugin, set this variable to 1 or 0, respectively. The default is 0 (off).
A value in milliseconds that controls how long the source waits on a commit for acknowledgment from a replica before timing out and reverting to asynchronous replication. The default value is 10000 (10 seconds).
Similar to
rpl_semi_sync_master_enabled
,
but controls the replica plugin.
All
rpl_semi_sync_
system variables are described at
Section 17.1.6.2, “Replication Source Options and Variables” and
Section 17.1.6.3, “Replica Server Options and Variables”.
xxx
From MySQL 8.0.23, you can improve the performance of
semisynchronous replication by enabling the system variables
replication_sender_observe_commit_only
,
which limits callbacks, and
replication_optimize_for_static_plugin_config
,
which adds shared locks and avoids unnecessary lock
acquisitions. These settings help as the number of replicas
increases, because contention for locks can slow down
performance. Semisynchronous replication source servers can
also get performance benefits from enabling these system
variables, because they use the same locking mechanisms as
the replicas.
Status variables enable semisynchronous replication monitoring. Some examples:
The number of semisynchronous replicas.
Whether semisynchronous replication currently is operational on the source server. The value is 1 if the plugin has been enabled and a commit acknowledgment has not occurred. It is 0 if the plugin is not enabled or the source has fallen back to asynchronous replication due to commit acknowledgment timeout.
The number of commits that were not acknowledged successfully by a replica.
The number of commits that were acknowledged successfully by a replica.
Whether semisynchronous replication currently is operational on the replica. This is 1 if the plugin has been enabled and the replication I/O thread is running, 0 otherwise.
All
Rpl_semi_sync_
status variables are described at
Section 5.1.10, “Server Status Variables”.
xxx
The system and status variables are available only if the
appropriate source or replica plugin has been installed with
INSTALL PLUGIN
.