Я хочу ускорить создание резервной копии с помощью tar cfz
, обычный способ сделать это. Но с каждым днем мои резервные копии растут, поэтому они становятся медленнее.
Я думал воспользоваться преимуществами нескольких ядер, доступных на моем сервере, и мне было интересно, есть ли разница между резервным копированием с помощью tar cfz
или передать tar в gzip: tar cf - | gzip
Я предполагаю, что нет никакой разницы, потому что первый порождает два процесса (tar и gzip) так же, как и конвейер.
Если нет никакой разницы, знаете ли вы какую-нибудь хорошую альтернативу, чтобы сделать это, не прибегая к инкрементальной работе? Я смотрю на свинья тоже и выглядит нормально.
Когда вы говорите, что хотите использовать преимущества нескольких ядер, подразумевается, что ваш tar с gzip привязан к процессору, а не к вводу-выводу, вы уверены, что это так? Если вы не уверены, что вам нужно запустить sar, iostat, top или проверить графики мониторинга и т. Д., Чтобы выяснить это. Никогда не стоит пытаться решить проблему, не разобравшись сначала. Я не говорю, что это верно в отношении вас, но я предполагаю, что даже при наличии сжатия с помощью gzip у вас будет больше шансов быть привязанным к вводу-выводу.
Если это связано с вводом-выводом и у вас есть несколько массивов, может иметь смысл отдельный процесс для каждого массива.
Я также поддерживаю совет Дэвида, который следует рассматривать постепенно.
Вы вряд ли улучшите чистую производительность tar
и gzip
играя вот так; Чтобы лучше использовать возможности оборудования, вы можете разделить папки на разные части и одновременно создавать несколько архивов.
Почему вы не хотите идти постепенно? Я бы рекомендовал использовать rsnapshot даже если вы делаете это локально, так как он имеет возможность использовать жесткие ссылки, чтобы вы могли сэкономить место на диске, сохраняя при этом точные копии с нескольких раз
Если вы привязаны к процессору (а не io!), Вы можете использовать свинья. Он распространит gzip на несколько ядер. Я использую его для своих резервных копий. Это капля на замену gzip:
tar cf - | pigz