Linux中互传文件:ssh+tar 与Scp 比较

作者: BlackChen | 来源:发表于2017-03-10 15:05 被阅读906次

    使用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
    

    总结:

    1. ssh + tar 传输文件 速度比scp速度更快
    2. ssh + tar 用dd 和 cat 写入文件的时候,速度并没有很大变化.(可能取决于当时系统的负载情况)
    3. scp 压缩与不压缩速度差别很大
    4. 先使用tar打包压缩文件再传输,比使用scp命令本身压缩后传输快

    注:
    本文使用测试的传输文件目录大小4.8G 其中有2.5G通过dd 生成的zero文件dd if=/dev/zero of=file count=1 bs=1000000000(压缩与不压缩有很大差别).
    如果传输的是大文件,如视频,音频,本身不可压缩很多,压缩与不压缩差距不大.
    测试文件数量14140,文件数量多,但是大文件少.

    相关文章

      网友评论

        本文标题:Linux中互传文件:ssh+tar 与Scp 比较

        本文链接:https://www.haomeiwen.com/subject/jagngttx.html