现在的位置: 首页 > Linux > Linux基础 > 正文
使用tar+pigz+ssh实现大数据的高效传输
2016年11月20日 Linux基础 ⁄ 共 717字 评论数 26 ⁄ 被围观 2,280 views+

以前我们跨主机拷贝大数据的时候,比如要拷贝超过100GB的mysql原始数据,我们通常的做法如下:

  • 在源端打包压缩为tar.gz文件
  • 采用scp或者rsync等方式拷贝到目标主机
  • 在目标主机解压文件

这三个过程是同步阻塞,即不能同时异步执行,导致效率低下。

现在我们将过程优化为以数据流的方式,同时执行(非阻塞模式),则效率一般可以提高到原来的3倍以上,具体实现如下:

磁盘读取---->打包---->压缩------>传输---->解压缩-->拆包---->落盘

                     |->tar     |->gzip      |->ssh      |->gzip   |->tar

比如我要将本地的test目录拷贝到“目标IP”的的data目录,则命令如下:

tar -c test/ |pigz |ssh -c arcfour128 目标IP "gzip -d|tar -xC /data"

当然,这里的解压过程仍然用了效率比较低下的gzip,如果将解压工具换成lz4(但需要单独编译安装),则效率可以再提高不少。

如果不需要解压,则命令变为:

tar -c test/ |pigz |ssh -c arcfour128 目标IP "cat >/data/test.tar.gz"

注:因为采用了流式压缩,解压过程必须加上-i参数,及tar –ixf /data/test.tar.gz 。

说明: pigz是一个高效的压缩工具,可以将多核CPU的每一分剩余性能都用来做压缩计算。而传统的gzip则只能用单核CPU。比如一台2个8core cpu服务器采用pigz和gzip压缩相同的数据,一般性能差距至少在7-8倍以上(一般不会达到理论的16倍,因为受限于磁盘的读写速度和内存等资源)。

目前有 26 条留言 其中:访客:26 条, 博主:0 条

  1. 2 : 2016年11月25日14:33:05  -49楼 @回复 回复

    留言是种美德,写点什么… :roll:

  2. 增达网QQ-33092290 : 2017年03月21日20:01:35  -48楼 @回复 回复

    真是时光荏苒!

  3. 增达网QQ-81451974 : 2017年03月26日12:40:25  -47楼 @回复 回复

    感觉不错哦,认真拜读咯!

  4. QQ2763055671 : 2017年03月28日15:20:24  -46楼 @回复 回复

    富强、民主、文明、和谐,自由、平等、公正、法治, 爱国、敬业、诚信、友善。

  5. 衣皇后 : 2017年03月31日15:21:12  -45楼 @回复 回复

    学习使人进步,到此拜读!

  6. 衣皇后 : 2017年04月04日09:31:03  -44楼 @回复 回复

    从百度进来的,博客不错哦!

  7. 衣皇后 : 2017年04月06日16:53:48  -43楼 @回复 回复

    对你爱爱爱不完,我可以天天月月年年看你博客到永远!

  8. 衣皇后 : 2017年04月13日14:35:45  -42楼 @回复 回复

    很荣幸来访您的博客,留言只是证明我来过!

  9. yihuanghou : 2017年04月19日09:19:20  -41楼 @回复 回复

    世事无常,但这个博客定能永保辉煌!

  10. xuan : 2017年04月27日07:04:48  -40楼 @回复 回复

    我只想默默的拜读您的博客!

  11. 我赚啦 : 2017年05月01日08:56:53  -39楼 @回复 回复

    闲着没事,随便逛逛,心静自然凉。

  12. 衣皇后 : 2017年05月31日15:33:20  -38楼 @回复 回复

    很荣幸来到这里参观!

  13. 增达网 : 2017年06月02日15:22:39  -37楼 @回复 回复

    我来自火星刚到地球什么都不懂。

  14. 356148643 : 2017年06月09日16:43:38  -36楼 @回复 回复

    好好学习,天天向上

  15. 直销 : 2017年06月13日21:28:45  -35楼 @回复 回复

    好几年没用过博客了,支持下!

  16. 随小风 : 2017年06月15日13:29:20  -34楼 @回复 回复

    写的东西很扎实,膜拜下

  17. 增达网QQ-396188625 : 2017年06月16日15:22:01  -33楼 @回复 回复

    没玩过博客,感觉还挺好玩!

  18. 网赚 : 2017年06月22日11:37:42  -32楼 @回复 回复

    这个不错哦,我好好读读!

  19. 增达网 : 2017年06月25日17:22:10  -31楼 @回复 回复

    看看你的博客,也是一种娱乐!

  20. 我赚啦 : 2017年07月02日16:07:50  -30楼 @回复 回复

    抱着学习的态度来看看

  21. 增达 : 2017年07月14日14:25:04  -29楼 @回复 回复

    玉不琢不成器,人不学不知道,拜读了!

  22. 增达 : 2017年07月21日08:45:36  -28楼 @回复 回复

    我也有过博客,不过那都是很多年前的事情了!

  23. 杭州家政网 : 2017年07月24日10:29:48  -27楼 @回复 回复

    值得思考哦,受教了!

  24. 增达网 : 2017年08月02日11:19:22  -26楼 @回复 回复

    看了大有收获,真的没有白来!

  25. 笑八达 : 2017年08月13日17:15:28  -25楼 @回复 回复

    感受学习的力量!

  26. 增达网 : 2017年08月19日15:48:41  -24楼 @回复 回复

    如果上天再给我一次机会,我会对你的博客说,下次还来看你!

给我留言

留言无头像?


×