大量文件传输的方法(海量文件传输)
侧边栏壁纸
博主昵称
yuc

  • 累计撰写 291 篇文章
  • 累计收到 0 条评论

大量文件传输的方法(海量文件传输)

yuc
yuc
2024-05-31 / 最后修改: 2024-05-31 05:38 / 0 评论 / 4 阅读 / 正在检测是否收录...
问题

传输文件,如果只是大文件传输,还是比较容易的,基本上网络、磁盘很容易能够到达满速,只要想办法提升这两方面就可以更快的传输。

但是如果是海量的小文件、大量文件,那么基于磁盘寻址的速度,IO受限会很高,并且同时会在网络上给予相同的限制

这里我们说说如何在海量文件、大量文件中尽可能的提升传输速度

方案
本机不同磁盘

复制目录

tar cvf – /home/src_dir | tar xvf - -C /opt

复制文件

tar cf – access.log |tar xf - -C /opt
不同主机

用nc来监听一个端口,任意都行,只要不被占用;并且将收到的数据用tar展开。-l 代表监听模式

nc -l 34183 | tar -C /data1datasets/norm/ -zxf -

接着在发送端上通过nc和 tar发送data_01目录。使用一致的34183的端口

tar -zcvf - data_01 | nc 192.168.0.1 34183
PS. 其他辅助手段

以上很多工具都是单线程的,并且不一定能充分利用cpu、io来专门处理这个事情,所以可以换一个角度来思考,如果子目录进行了分级,那么可以先对一个子目录调用上面的方法,如果观察到cpu、io资源还比较充足,那么可以同时对其他子目录进行操作,使用并行的方式继续提升速度

0

评论

博主关闭了当前页面的评论