I'm Károly Nagy working for Booking.com currently testing multi-source
replication functionality of MariaDB. Kristian suggested I should reach
out to you on this mailing list regarding my questions.
We're seeing very high and fluctuating mutex contentions while
replicating from two sources (Oracle MySQL 5.6)
to a single MariaDB
slave. You can see that on the graphs below. The spin waits are
relatively [1] aligned but the mutex rounds [2] are 5-10
times higher
than it is on the two sources combined together and not consistent. The
sources have a relatively constant pattern while the target has dips
around 2.5k and spikes up to 8k. The os waits are in completely
different order of magnitude [3].
The scenario where values were captured:
Multi-source target is replicating the full dataset of `source
2` and a subset of `source 1` (the hot data) - MariaDB 10.0.16
Both
sources are MySQL 5.6 being part of their replication chain
as slaves with log_slave_updates
Source 2 is in normal mode -
Oracle MySQL 5.6.17
Source
1 is catching up from a 1 day replication delay - Oracle
MySQL 5.6.24
All
the slaves are warm having the buffer pool fully populated
Is this behavior expected?
Could you give us some insights on why we could see these results?
If there is any more information you need please let me know. Thank you
for your help in advance!
Every metric is on /10 seconds
basis.
[1] Mutex spin waits
[2] Mutex rounds
[3] Mutex OS waits
Best regards,
--
Károly Nagy
System engineer
Booking.com
BV Rembrandt Square Office, Herengracht 597, 1017 CE Amsterdam Direct+31
(0)20 715 8403