Я использую обычный Ubuntu 18.04 LTS с файловыми системами ext4.
я использую отдыхать для резервного копирования моих машин. Restic - это инструмент резервного копирования, который поддерживает разные серверные части (локальные, sftp, aws, gcs, ..), но только одно место назначения резервного копирования за раз. Так что я не могу сказать restic
"возьмите эти папки и одновременно создайте их резервные копии на dest1, dest2 и dest3, читая каждый файл на моем хосте только один раз".
Я знаю, что есть инструменты, которые на втором этапе синхронизируют dest1 с dest2 и т. Д., Но я не хочу вдаваться в это обсуждение здесь.
Разумно ли запускать restic один раз, а затем второй раз, следовательно, дважды просмотреть все файлы в соответствующих папках последовательно?
Или мой общий файловый кеш Linux будет работать лучше, если я запущу два / три рестика параллельно, чтобы одни и те же файлы читались моими процессами примерно в одно и то же время?
Или это полностью перегрузит мой диск io, потому что (по крайней мере, на жестком диске) считывающей головке потенциально придется постоянно прыгать вперед и назад?
(Как) на это влияет HDD / SSD?
-
Я сам не проводил никаких тестов производительности, надеясь, что некоторые эксперты по файловой системе / кешу файлов могут избавить меня от этой проблемы :)
Ура
В итоге я добавил переключатель в свою программу на Python (рунный), который позволяет выбрать последовательное или параллельное выполнение, и вот некоторые предварительные результаты:
Обычный ноутбук с NVMe SSD и ext4.
Исходный каталог:
$ du -csh tmp/
2.4G tmp/
$ find tmp/ | wc --lines
43724
$ ls tmp/
audible-activator django-prometheus gosignals js-beautify matomotest nextcloud-social-login pyelasticsearch sinnlos
batstat dms huestacean landmatrix matrix-appservice-slack omniauth-oauth2-generic quartiermeister tmpfooab
christophtest elasticsearch-HQ jcdriver leaflet-v-ol mirenzeugs postfix_exporter restic wagtail
cookiecutter-django go-neb joycon lib_users msw protonfoo salt
Так ~2.4GB
репозиториев git и других случайных файлов.
Целевые каталоги были два каталога в одной файловой системе.
Я очищал кеши Linux между запусками: sudo sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
. И это, похоже, сработало, потому что выполнение одних и тех же команд несколько раз давало аналогичные результаты.
$ runrestic init backup
{'init': 5.7561564445495605, 'backup': 30.630026817321777, 'total': 36.38620185852051}
$ runrestic init backup
{'init': 2.513888120651245, 'backup': 21.428940057754517, 'total': 23.942883253097534}
На SSD вроде помогает работать параллельно.
Я сообщу, когда соберу больше данных.