使用ssh+tar 传输文件与scp比较
- 使用cat 输出文件
tar -zcvf - ./ |ssh posp@192.168.3.55 "cat >/home/posp/xxx.tar.gz
real 1m26.803s
user 1m21.459s
sys 0m5.323s
- 使用dd生成文件
tar -zcvf - ./ |ssh posp@192.168.3.55 "dd of=/home/posp/xxx.tar.gz
real 1m27.242s
user 1m21.475s
sys 0m5.840s
- 直接在传输的时候直接解压
tar -zcvf - ./ |ssh posp@192.168.3.55 "tar -zxvf - -C /home/posp/trans1"
real 1m27.242s
user 1m21.475s
sys 0m5.840s
- 使用Scp传输文件(没有压缩)
scp -r ./ posp@192.168.3.55:/home/posp/chenchen_test/trans1
real 6m54.000s
user 0m41.940s
sys 0m12.742s
ps: 因为空洞文件压缩后会非常小,没有压缩传输的话非常耗费时间
- 使用Scp命令本身的压缩参数 -C, 压缩后传输
scp -r -C ./ posp@192.168.3.55:/home/posp/chenchen_test/trans1
real 2m21.667s
user 1m45.134s
sys 0m11.294s
- 使用Scp + tar ,tar压缩后传输
tar -zcvf xxx.tar.gz ./
real 1m18.370s
user 1m17.027s
sys 0m4.867s
scp xxx.tar.gz posp@192.168.3.55:/home/posp/chenchen_test/trans1
real 0m41.054s
user 0m4.094s
sys 0m1.017s
总时间 :
real 1m59.424s
user 1m21.121s
sys 0m5.884s
总结:
- ssh + tar 传输文件 速度比scp速度更快
- ssh + tar 用dd 和 cat 写入文件的时候,速度并没有很大变化.(可能取决于当时系统的负载情况)
- scp 压缩与不压缩速度差别很大
- 先使用tar打包压缩文件再传输,比使用scp命令本身压缩后传输快
注:
本文使用测试的传输文件目录大小4.8G 其中有2.5G通过dd 生成的zero文件dd if=/dev/zero of=file count=1 bs=1000000000
(压缩与不压缩有很大差别).
如果传输的是大文件,如视频,音频,本身不可压缩很多,压缩与不压缩差距不大.
测试文件数量14140
,文件数量多,但是大文件少.
网友评论