Репликация межрегиона в MySQL, метод для асинхронного копирования данных из первичной базы данных в одной географической области в одну или несколько баз данных реплик в разных регионах, влияет на производительность с помощью различных факторов, связанных с задержкой сети, отставанием репликации, распределением рабочей нагрузки и распределением ресурсов.
Задержка сети и задержка репликации
Первичное воздействие на производительность возникает в результате увеличения задержки сети между регионами. Поскольку репликация межрегиона зависит от отправки бинарных событий журнала, содержащих изменения данных по сетевым ссылкам на дальние расстояния, физическое расстояние может вызвать значительную задержку распространения. Это приводит к увеличению задержки репликации, где реплики отстают от первичных применений изменений. Задержка репликации может повлиять на согласованность чтения в приложениях, полагаясь на актуальные данные из реплик и может увеличить время отказоустойчивости в сценариях аварийного восстановления.
Задержка репликации происходит из -за множества причин:
- Основной сервер, не отправляющий изменения достаточно быстро.
- Сеть задерживается при передаче изменений.
- Неспособность сервера реплики быстро применить изменения.
Общее наблюдаемое отставание связано как с сетевой, так и задержкой обработки. Инструменты мониторинга отслеживают метрики, такие как лаг с сетью и отставание реплик для диагностики узких мест.
Replica Server воздействие и использование ресурсов
На стороне реплики применение изменений от первичной работы включает в себя работу ввода -вывода и процессора, что может повлиять на общую производительность реплики, особенно если он также одновременно обрабатывает запросы считывания приложений. Высокая нагрузка на репликацию может привести к конкурированию и насыщению ресурсов, замедляя время отклика запросов на реплику.
Использование параллельных потоков репликации в реплике может облегчить некоторые задержки приложения, одновременно применяя несколько транзакций, улучшая пропускную способность репликации. Кроме того, настройка параметров, таких как высокоэффективное промывание (настройка `innodb_flush_log_at_trx_commit` и` sync_binlog` параметры) может улучшить эффективность записи и репликации.
влияние на производительность первичного сервера
Основной сервер также оказывает влияние на нагрузку из -за репликации. Он должен написать все изменения в бинарном журнале для нисходящих реплик, которые являются дополнительными накладными расходом в верхней части нормальной транзакционной обработки. Со многими репликами подключенными, особенно перекрестной регионой, где сетевая пропускная способность и надежность варьируются, первичные могут испытывать повышенное потребление ресурсов, поддерживая потоки репликации.
Одним из способов смягчения этого является иерархия репликации, где первичная репликация в одну промежуточную копию, которая затем вентиляется на дополнительные реплики, уменьшая нагрузку на первичную.
Распределение рабочей нагрузки и масштабируемость
Репликация по межрегионе поддерживает масштабирование рабочих нагрузок считывания, ближе к пользователям в разных глобальных регионах, предоставляя реплики чтения вблизи их местоположения, улучшая задержки конечного пользователя. Тем не менее, написание рабочих нагрузок по -прежнему сходится в первичном экземпляре, который может стать узким местом.
Крупные транзакции на первичном, что обновление многих строк может вызвать пики в данных репликации, что приводит к всплескам репликации, применяют работу на репликах и вызывая задержку репликации. Разрыв больших транзакций на более мелкие партии помогает уменьшить деформацию репликации.
Схема и соображения дизайна запросов
Таблицы без первичных ключей или с тяжелыми операциями DDL могут снизить производительность репликации или вызвать эксклюзивные замки, что составляет проблемы задержки в разных регионах. Обычно рекомендуется использование репликации на основе строк, которая требует первичных ключей для эффективности.
Уровни выделения запросов на репликах также влияют на скорость применения репликации, причем более низкие уровни изоляции (например, «чтение совершенного»), как правило, позволяют более быстро применять события репликации, чем более высокие уровни, которые держат замки дольше.
Соображения сети и затрат
Поперечная репликация включает передачу данных в облачных сетях поставщиков, что может понести затраты и ограничения полосы пропускания. Это необходимо учитывать в дизайне и может косвенно ограничить скорость и частоту репликации.
Сводка воздействия на производительность
- Увеличение задержки репликации из -за физического расстояния и задержки сети.
- Более высокое потребление ресурсов для первичного для бинарного ведения и на репликах для применения изменений.
- Потенциальная деградация производительности запросов на реплики, если репликация интенсивно.
- Балансировка нагрузки с помощью иерархий репликации может уменьшить узкие места.
- Влияние крупных транзакций и схемы на эффективность репликации.
- компромиссы с стоимостью передачи данных и пропускной способностью в облачных средах.