Skip to main content

Як реплікація впливає на продуктивність?

Реплікація в Redis одночасно покращує й ускладнює продуктивність - усе залежить від того, з якого боку дивитися: читання, запис чи мережу.

1. Читання - прискорюється

  • Репліки можуть обслуговувати запити лише на читання, розвантажуючи master.

  • За великої кількості клієнтів можна розподілити навантаження:

    javascript
    master → лише запис replicas → лише читання
  • Це масштабує систему горизонтально й підвищує загальну пропускну здатність.

Висновок: реплікація значно підвищує продуктивність за читанням.

2. Запис - трохи сповільнюється

  • Master має передавати потік змін усім репліками.
  • Це вимагає мережевих ресурсів і трохи процесорного часу.
  • За великої кількості реплік навантаження на master росте пропорційно їхній кількості.

Висновок: при збільшенні кількості реплік master може сповільнюватися через розсилку даних.

3. Мережа - стає більш навантаженою

  • Кожне оновлення передається мережею всім репліками.
  • Якщо даних багато (наприклад, великі ключі, часті записи), трафік може стати відчутним.
  • За каскадної реплікації частину навантаження можна перерозподілити.

Висновок: мережа - головне вузьке місце за великого обсягу даних.

4. Затримки між вузлами

  • Через асинхронність репліка може відставати від master на частки секунди чи більше.
  • Це не впливає на швидкість master, але знижує узгодженість даних при читанні з реплік.

Підсумок:

Реплікація прискорює читання, трохи сповільнює запис, збільшує навантаження на мережу, але загалом робить систему масштабованою й стійкою. У Redis вона оптимізована так, щоб вплив на продуктивність master лишався мінімальним.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.