ハードディスクの交換で、久々にバックアップを実行した。約1.9Tをtar.gzで保存したが、丸2日かかったうえに、圧縮しても1.5Tにしか成らなかった。今後のためにバックアップの高速化を検討した。今の環境では律速段階はgzipなので、圧縮の高速化が重要。圧縮方法として、高速が売りのlz4、高速と高圧縮のzstd、マルチスレッドのpigzを比較してみた。
環境はDebian12, CPUはG4600(3.6G, 2 core, 4 thread)、fsはbtrfsのraid1で、SATA6Gのハードディスク。
lz4は圧縮はgzipに負けるが高速でデータ量が減るためか、非圧縮より高速だった。zstdはさすがにgzip同等の高圧縮でlz4並に高速でもっとも良い選択と思われた。pigzはgzipより高速だが、zstdには劣る、しかし後の互換性を考えると無難か。しかし、gzipとpigzで同じファイルが作られるわけではない。gzipの遅さを実感したが、さらに遅いく高圧縮を目的に一時期使われたbzipは不要だね。早く、gzipがマルチスレッド化されて欲しい。
sudo apt install lz4 zstd pigz
time; tar -cf test.tar ./TESTDIR # 11G, 1m43
time; tar cfz test.tar.gzip ./TESTDIR # 8.4G, 7m55
time; tar -I lz4 test.tar.lz4 ./TESTDIR # 9G, 1m29
time; tar -Izstd -cf test.tar.zst ./TESTDIR # 8.5G, 1m26
time; tar -Ipigz -cf test.tar.gz ./TESTDIR # 8.4G, 2m37
Debianだとsnappyやbrotliはなかったが、zstdの方がよさそう。

コメント