У меня есть мастер MySQL (MariaDB 10.1.27), который содержит ~ 1900 баз данных. Общий размер dbs ~ 100 ГБ Используется движок InnoDB с innodb_file_per_table = 1
Я собираюсь установить два подчиненных устройства для этого сервера (MariaDB 10.1.27). Оба ведомых устройства с таким же оборудованием, как и ведущее устройство. мастер был остановлен в полночь, была сделана резервная копия из / var / lib / mysql с помощью tar и этот tar был перенесен и извлечен на два отдельных сервера.
Одно ведомое устройство быстро настроилось и догнало ведущего (задержка в 1 день) примерно за 1 час. Во время наверстывания я получил 100% загрузку ЦП (LA 3-4) с журналом активности диска (~ 20% wa)
У второго ведомого есть странная проблема с производительностью репликации. После настройки его догонял мастер более 2-х суток. И выручка закончилась только на 20%. текущий статус ведомого шоу:
show slave status\Gshow processlist;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: XXXXXXXXXX
Master_User: XXXXXXXX
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysqld-bin.000572
Read_Master_Log_Pos: 524619108
Relay_Log_File: relay-bin.000004
Relay_Log_Pos: 916671538
Relay_Master_Log_File: mysqld-bin.000571
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table: apsc.%,billing.%,information_schema.%,performance_schema.%,horde.%,mysql.%,phpmyadmin_gmRJC4rn_tom.%,psa.%,roundcubemail.%,sitebuilder5.%
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 916671245
Relay_Log_Space: 1598365917
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 24730
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 111
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: conservative
1 row in set (0.00 sec)
На ЦП и на диске нет серьезной активности (см. Верхний экран позже)
======
top - 03:36:36 up 114 days, 12:26, 9 users, load average: 1.82, 1.86, 1.89
Tasks: 364 total, 1 running, 362 sleeping, 0 stopped, 1 zombie
Cpu(s): 1.5%us, 0.7%sy, 0.0%ni, 87.7%id, 4.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 32993560k total, 32271192k used, 722368k free, 625464k buffers
Swap: 4194296k total, 229512k used, 3964784k free, 23100280k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13809 mysql 1 -19 6819m 5.8g 7332 S 8.9 18.5 132:12.33 mysqld
======
Как я вижу, в настоящее время все журналы бункера переданы от ведущего к ведомому, но подчиненное устройство имеет низкую производительность при применении этих журналов к dbs.
В журнале медленных запросов (ограничение 2 секунды) у меня нет никаких записей.
Проблема с поиском в Google не помогает. Уже пробовал:
skip-name-resolve
innodb_flush_log_at_trx_commit=0
innodb-flush-method=O_DIRECT
#move innodb logs to SSD
nnodb_log_group_home_dir=/var/lib/mysql_logs
Попытка установки многопоточной репликации (2 и 4 потока) не удалась из-за замедления процесса больше, чем текущее состояние. Ведомый получил увеличивающуюся задержку (Seconds_Behind_Master в статусе показа ведомого)
Пожалуйста, посоветуйте мне, что может быть источником проблемы и что можно сделать для ускорения репликации.
Да, ты прав. Исправленный вопрос
Различайте файлы my.cnf.






«Второй владелец имеет какое-то странное…» - Может, вы имели в виду «раб»?