Странная низкая производительность при репликации mysql

У меня есть мастер 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 в статусе показа ведомого)

Пожалуйста, посоветуйте мне, что может быть источником проблемы и что можно сделать для ускорения репликации.

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

Rick James 21.05.2018 06:33

Да, ты прав. Исправленный вопрос

Mike Patutin 22.05.2018 11:13

Различайте файлы my.cnf.

Rick James 22.05.2018 16:22
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
3
621
0

Другие вопросы по теме

Приложение переходит в фоновый режим после некоторого использования
Код OpenCL на MQL5 не распределяет задания на каждое ядро ​​графического процессора
Нужны ответы о настройке MongoDB на локальном компьютере для большого количества данных
RoR на Heroku [Производительность]: потоки, рабочие, whacamole или dynos?
Как скачать и проанализировать JSON с помощью Python FAST
Количество уникальных хостов, связанных с группами, к которым имеют доступ учетные записи
Код ускорения: определение количества очков в определенном радиусе
Есть ли реализация БПФ, оптимизированная NEON для чисел с двойной точностью?
Вызывает ли создание индекса для таблицы, содержащей миллион строк, какие-либо проблемы? Есть ли опасность сделать то же самое в живой производственной БД?
Я разрабатываю приложение для проверки скорости загрузки / выгрузки. Столкновение с серьезной проблемой при сравнении скорости