3.6. Запуск pg_probackup3 в параллельных потоках #
Команды backup, restore, merge, delete и validate могут выполняться в несколько параллельных потоков. Это может существенно ускорять работу pg_probackup3 при наличии достаточных ресурсов (ядер процессора, производительности дисковой подсистемы и сети).
Параллельным выполнением управляют ключи командной строки -j
/--threads
, --num-write-threads
и --num-validate-threads
. Эти параметры должны быть неотрицательными целыми числами.
Если эти параметры не указаны или имеют нулевое значение, pg_probackup3 по умолчанию использует количество ядер процессора. Если определить количество ядер не удастся, будет использоваться один поток.
Когда параметры --num-write-threads
и --num-validate-threads
указаны, они переопределяют значение -j
.
Если запрошенное количество потоков превышает системное ограничение (например, указанное в /proc/sys/kernel/threads-max
), будет выведено предупреждение и вместо запрошенного значения будет использовано системное ограничение. Если ограничение не обнаружено, будет применено значение, указанное пользователем.
В режиме PRO количество потоков чтения должно быть меньше значения серверного параметра max_wal_senders
.
Например, чтобы запустить резервное копирование в четыре параллельных потока, выполните:
pg_probackup3 backup -Bкаталог_копий
--instance=имя_экземпляра
-b FULL -j 4
Примечание
Восстановление происходит в параллельном режиме только на этапе копирования данных из каталога копий в каталог данных кластера. При запуске сервера Postgres Pro он должен будет воспроизвести записи из WAL, а это может происходить только последовательно.