$ dd if=/dev/zero of=dammy1g bs=1024M count=1
pigz: gzip圧縮をマルチスレッドで実行するコマンド.
$ sudo apt-get install pigz
- 無圧縮(tarのみ)で転送
- gzip圧縮(not multi-threaded)させつつ転送、
- gzip圧縮(with pigz)で圧縮、解凍は tar (not multi-threaded)
- gzip圧縮(with pigz)で圧縮、解凍は pigz + tar (multi-threaded)
$ time tar cf - dammy1g | ssh ***@192.168.10.102 "tar xf - -C /home/***"
tar cf - dammy1g 0.12s user 2.34s system 10% cpu 23.473 total
ssh ***@192.168.10.102 "tar xf - -C /home/***" 14.14s user 7.15s system 90% cpu 23.475 total
$ time tar zcf - dammy1g | ssh ***@192.168.10.102 "tar zxf - -C /home/***"
tar zcf - dammy1g 8.66s user 1.61s system 116% cpu 8.804 total
ssh ***@192.168.10.102 "tar zxf - -C /home/***" 0.03s user 0.01s system 0% cpu 8.911 total
$ time tar cf - dammy1g | pigz -p3 | ssh ***@192.168.10.102 "tar zxf - -C /home/***"
tar cf - dammy1g 0.03s user 0.43s system 7% cpu 6.431 total
pigz -p3 18.16s user 0.42s system 288% cpu 6.437 total
ssh ***@192.168.10.102 "tar zxf - -C /home/***" 0.09s user 0.10s system 2% cpu 6.523 total
$ time tar cf - dammy1g | pigz -p3 | ssh ***@192.168.10.102 "unpigz -p5 | tar xf - -C /home/***"
tar cf - dammy1g 0.02s user 0.43s system 7% cpu 6.171 total
pigz -p3 18.15s user 0.36s system 299% cpu 6.177 total
ssh ***@192.168.10.102 "unpigz -p5 | tar xf - -C /home/***" 0.10s user 0.07s system 2% cpu 6.469 total
- ダミーファイルはzeroで埋めたファイルなので、圧縮時した時としない時の差が一番大きい(圧縮効率の差)
- pigzを使った圧縮と展開(multi threaded)
- 使ったほうが高速は高速
- 時間効率の向上率はリソースの消費量と比べると小さい
- 圧縮に比べて展開時の効率向上はいまいち?
- ネットワークを介して転送されたものを展開するので、転送待ちの方が大きいのかも
$ tar cf - DIR-FOR-SCP | pigz -p3 | ssh ***@192.168.10.102 "unpigz -p5 | tar xf - -C /home/***"
tar cf - DIR-FOR-SCP 7.83s user 149.15s system 9% cpu 26:58.39 total
pigz -p3 2958.03s user 127.31s system 190% cpu 26:58.40 total
ssh ***@192.168.10.102 "unpigz -p5 | tar xf - -C /home/***" 426.92s user 108.60s system 33% cpu 26:58.41 total
$ du -sch DIR-FOR-SCP
78G DIR-FOR-SCP
78G 合計