2016-03-22 2 views
0

У меня есть учетная запись в amazone. мой основной MySql - это большой экземпляр. и у меня есть другие 2 небольшие экземпляры в качестве серверов репликации. Иерархия - это Primary -> slave 1-> slave 2. Проблема в том, что несколько раз ведомое устройство 1 и подчиненное устройство 2 демонстрируют высокую загрузку процессора. Мы не могли точно определить причину. Раб 1 действует как раб первичного и в то же время он действует как Магистр раба 2. Мы много искали, но мы все еще застреваем как слепые. Заранее благодарим за помощь.Загрузка процессора сервера Mysql стала высокой в ​​EC2

+1

Метод репликации mysql повторно запускает CRUD внутри подчиненного сервера. Это не «прямая синхронизация данных», представьте, что у вас есть высокая активность CRUD на главном сервере. – mootmoot

+0

Спасибо моему другу, у меня есть еще одно сомнение. Повторяются ли операции чтения на подчиненном сервере ?. –

ответ

1

Как правило, при использовании встроенной асинхронной репликации MySQL, которая используется RDS, серверы реплики должны быть такими же большими, как мастер или иногда более крупными. Реплики получают «события репликации» от ведущего, которые могут содержать фактические запросы, которые модифицировали данные - вставлять, обновлять, удалять, но не выбирать - это «репликация на основе инструкций» - или могут получать двоичные образы добавленных строк удаляется или изменяется на хозяине - это «репликация на основе строк». По умолчанию главный сервер решает, по принципу запроса по запросу, какой формат использовать для отправки событий репликации («смешанный»).

Во всех случаях SELECT заявления не посланных к репликам (за исключением, конечно, для INSERT ... SELECT), но они должны обладать достаточной способностью к обрабатываются как входящие изменения от мастера, а также SELECT запросов, которые выполняются непосредственно против копию вашей заявки.

В RDS для MySQL 5.6 и выше вы можете установить binlog_format на ROW, чтобы заставить master всегда использовать репликацию на основе строк. Это может улучшить вашу производительность, и это может быть не так - это зависит от рабочей нагрузки. Вы не можете заставить RDS использовать только режим «заявлений», а также не хотите.

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html

В целом, однако, в любое время реплика представляет собой машину с меньшим количеством ресурсов, чем мастера, вероятность репликации отстает увеличивается. Задержка реплик может контролироваться в Cloudwatch.

+0

Спасибо, майкл. Я надеюсь, что наша проблема в том, что наши подчиненные устройства менее сконфигурированы, чем Master. У меня тоже есть сомнения. как мы можем обнаружить, что наше ведомое устройство является репликацией на основе репликации или репликацией на основе строк? –

Смежные вопросы