Назад | Перейти на главную страницу

Репликация MySQL A-> B-> C

Я устанавливал репликацию MySQL для master -> slave / master -> slave и Replication для master -> slave, он работает нормально, но когда я включил эту опцию в my.cnf

log-slave-updates=1

для обновления журнала главного бункера мои репликации начинаются медленнее, а время

Seconds_Behind_Master

растет.

Я использую движок innodb, но БД большая. Любая идея, как я могу улучшить репликацию, похоже, проблема не в сети. Также я думал использовать

binlog_format=ROW

но мастер использует настройки по умолчанию для репликации 'statement', и я не могу сбросить мастер;)

Спасибо ...

попробуйте выяснить, в чем узкое место

  • это ограничение процессора подчиненного устройства [репликация mysql в 5.1 и 5.5 является однопоточной, она будет использовать только один раз ядро]. если это так - подумайте о том, чтобы поставить более быстрый процессор на подчиненные хосты.

  • это подсистема io на хосте? если да - подумайте о большем количестве шпинделей, ssd или, возможно, рейдовой карте с большим кешем bbu в режиме обратной записи, чтобы `` поглотить '' всплеск записи

    вы также можете поискать решения «за пределами окна [mysql]», например вольфрамовый репликатор.

Привет, я решил проблему, улучшив производительность innodb. В общем, я улучшил для него io-операции.

innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_write_io_threads = 32
innodb_read_io_threads = 32
innodb_thread_concurrency = 16

также я перешел на btrfs

nospace_cache

после этих изменений все работает нормально;) спасибо за помощь

У вас действительно асинхронная репликация с 3 мастерами? Это действительно плохая идея. Если вы потеряете узел, ваши оставшиеся узлы будут терять синхронизацию.

Также я думал использовать ... binlog_format = ROW

Это зависит от того, как выглядят ваши запросы, это может помочь, но СМЕШАННЫЙ режим может быть лучшим решением.

Я использую движок innodb, но БД большая.

Если размер вашей базы данных влияет на производительность репликации, то у вас, очевидно, есть ОГРОМНЫЕ возможности для повышения производительности за счет изменения схемы и настройки запросов.

но мастер использует настройки по умолчанию для репликации 'утверждения', и я не могу сбросить мастер

Почему нет?