Высокое потребление свопа во время резервного копирования базы данных с помощью mariabackup

Вопрос или проблема

Мы сталкиваемся с проблемой потребления SWAP при резервном копировании нашей базы данных.

Каждую ночь в 01:00 мы запускаем команду mariabackup, и в процессе использования SWAP резко возрастает, пока не достигнет 100%, и только к 10:00, в лучшем случае, возвращается к нормальному уровню использования.

Виртуальная машина работает на ОС Alamalinux 8.4, имеет около 60 ГБ ОЗУ и 4 ГБ раздела SWAP.

Нормальное использование ресурсов (за исключением резервного копирования) составляет около 70-80% ОЗУ и 70-80% SWAP.

Значение vm.swapiness установлено на 0, но это не изменяет потребление SWAP. Использование ОЗУ остается довольно стабильным вне или во время вечерних резервных копирований.

grafana ram/swap

У вас есть идеи, почему SWAP так сильно используется во время резервного копирования?

Это нормально? У вас есть какие-либо рекомендации?

Ответ или решение

Проблема с высоким использованием SWAP при резервном копировании базы данных с помощью mariabackup

Введение

При выполнении резервного копирования базы данных с использованием mariabackup, вы наблюдаете резкое увеличение потребления SWAP-памяти, которое достигает 100%, что может негативно сказаться на производительности системы. Давайте рассмотрим причины, по которым может возникать эта проблема, а также предложим возможные решения.

Причины проблемы

  1. Нехватка оперативной памяти (RAM):

    • Нормальное использование RAM в пределах 70-80% может стать критическим при выполнении операций, нагружающих систему, таких как резервное копирование. В данном случае, использование mariabackup может требовать значительных ресурсов для работы с данными, что ведет к увеличению нагрузки на память.
  2. Настройки системы:

    • Значение vm.swappiness, установленное на 0, указывает ядру Linux избегать использования SWAP и держать данные в оперативной памяти. Однако, если RAM недостаточно, система все равно будет использовать SWAP, чтобы обрабатывать дополнительную нагрузку.
  3. Тип резервируемых данных:

    • Размер базы данных и количество одновременно активных соединений во время резервного копирования могут требовать больше оперативной памяти, чем доступно, что сопутствует перерасходу SWAP.
  4. Фоновая нагрузка:

    • Если в системе имеются другие процессы, использующие значительную часть ресурсов, это может привести к повышенному использованию SWAP. Например, если одновременно работают другие задачи, требующие памяти, это также может помешать нормальной работе mariabackup.

Рекомендации по решению проблемы

  1. Увеличьте объем оперативной памяти:

    • Рассмотрите возможность увеличения памяти на виртуальной машине. 60 ГБ может быть маловато для ваших нужд в условиях высокой нагрузки резервного копирования. Увеличение оперативной памяти снизит давление на SWAP и улучшит общую производительность системы.
  2. Оптимизация процесса резервного копирования:

    • Посмотрите на параметры mariabackup. Возможно, стоит использовать параметры, которые уменьшают количество обрабатываемых в память данных в одном процессе, такие как --compress или --use-memory, которые могут уменьшить использование памяти на данном этапе.
  3. Измените настройки swappiness:

    • Попробуйте установить значение vm.swappiness на 10-20. Это даст системе больше гибкости в управлении памятью, позволяя использовать SWAP в разумных пределах, но при этом поддерживая работу приложения в оперативной памяти.
  4. Мониторинг системы:

    • Используйте инструменты мониторинга для анализа использования ресурсов во время резервного копирования (например, htop или nmon). Это поможет выявить, какие процессы потребляют больше всего памяти и SWAP.
  5. Период резервного копирования:

    • Если возможно, перенесите время выполнения резервного копирования в менее загруженный период, чтобы избежать конкуренции за ресурсы с другими процессами.
  6. Тестирование разных сценариев:

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

Заключение

Использование SWAP при выполнении резервного копирования баз данных с помощью mariabackup — это проблема, которую необходимо диагностировать и решать, учитывая настройки системы, объем доступной памяти и тип данных. Следуя предложенным рекомендациям, вы сможете снизить нагрузку на систему и улучшить общую производительность.

Оцените материал
Добавить комментарий

Капча загружается...