nc与scp文件传输性能的对比分析

/ 性能协议 / 1 条评论 / 491浏览

对比

### nc tcp协议
root@niumowang:~# time cat table.tar.gz | netcat  remote.ip  1234      

real	2m35.725s
user	0m0.060s
sys	0m2.020s

### scp ssh协议
root@niumowang:~# time scp table.tar.gz user@remote.ip:/tmp/
labs@remote.ip's password:
table.tar.gz         100%  694MB   4.5MB/s   02:35

real	2m37.915s
user	0m2.580s
sys	0m1.688s

结果

实际时间都是差不多的情况下

负载情况是:

在使用ssh协议会比nc直接tcp传输cpu负载更高一点,但是在带宽足够大的情况下(我这里带宽有限,ssh加密与解密的数据量就少了,在一定时间内),理论上是ssh会比tcp传输更消耗cpu,TCP 是 "传输层协议",SSH 是 "应用层协议"

内核时间和用户时间

可以看出ssh协议更多的是在用户层cpu算力来传,用户时间明显多于nc的tcp协议(内核层)

如果是像日志这种压缩性能很高的文件,可以考虑压缩之后再传输

像图片、视频这种二进制文件,本身就是经过压缩之后的了,如果再使用 tar z 来压缩一遍的话,不会节省多少传输体积,反而会白白耗费 CPU算力

nc传输不安全,不建议

  1. 到了最后还是协议的较量

    回复