背景介绍:
目前项目在美国东西部以及欧洲都有服务器节点,跨互联网的数据传输速度很不稳定,之前我们主要是通过SCP以及Rsync等方式进行数据传输的。
无意间发现了BBCP这个软件之后,经过测试,效果非常好,速度提升效果很明显,并且传输速度一直比较稳定,同时支持日志以及失败后重试等参数,非常不错。

参考资料:
http://www.slac.stanford.edu/~abh/bbcp/
http://pcbunn.cithep.caltech.edu/bbcp/using_bbcp.htm
https://www.olcf.ornl.gov/kb_articles/transferring-data-with-bbcp/

安装配置:

[aikaiyuan@aikaiyuan~]$ sudo wget http://www.slac.stanford.edu/~abh/bbcp/bin/amd64_rhel60/bbcp -O /usr/bin/bbcp
[aikaiyuan@aikaiyuan~]$ sudo chmod +x /usr/bin/bbcp [dong@west-ads1 ~]$ sudo wget http://www.slac.stanford.edu/~abh/bbcp/bin/amd64_rhel60/bbcp -O /usr/bin/bbcp
[dong@west-ads1 ~]$ sudo chmod +x /usr/bin/bbcp [aikaiyuan@aikaiyuan~]$ which bbcp
/usr/bin/bbcp
[aikaiyuan@aikaiyuan~]$ ssh west-ads1 which bbcp
/usr/bin/bbcp [aikaiyuan@aikaiyuan~]$ cd dong
[aikaiyuan@aikaiyuandong]$ sudo dd if=/dev/zero of=/home/adsymp/dong/file.2g bs=1024M count=2
2+0 records in
2+0 records out
2147483648 bytes (2.1 GB) copied, 45.9129 s, 46.8 MB/s
[aikaiyuan@aikaiyuandong]$ ls -lh
total 2.0G
-rw-r--r-- 1 root root 2.0G Mar 4 06:40 file.2g [aikaiyuan@aikaiyuandong]$ time bbcp -r -P 2 -V -w 8m -s 16 file.2g west-ads1:/home/adsymp/dong/
bbcp: Window size reduced to 245760 bytes.
bbcp: Indexing files to be copied...
bbcp: Copying 0 files in 0 directories.
Source sc2-admin1002.drawbrid.ge using initial send window of 18700
Target iad2-admin1002.drawbrid.ge using initial recv window of 87380
bbcp: Creating /home/adsymp/aikaiyuan/file.2g
bbcp: 140304 06:46:12 0% done; 8.5 MB/s, avg 8.5 MB/s
bbcp: 140304 06:46:14 1% done; 6.9 MB/s, avg 7.5 MB/s
...
bbcp: 140304 06:51:46 99% done; 7.7 MB/s, avg 6.1 MB/s
bbcp: 140304 06:51:48 99% done; 3.3 MB/s, avg 6.1 MB/s
Source cpu=3.643 (sys=3.552 usr=0.091).
File /home/adsymp/aikaiyuan/file.2g created; 2147483648 bytes at 6.0 MB/s
48 buffers used with 0 reorders; peaking at 0.
Source sc2-admin1002.drawbrid.ge using a final send window of 433840
Target cpu=15.149 (sys=14.505 usr=0.644).
Target iad2-admin1002.drawbrid.ge using a final recv window of 2298624
1 file copied at effectively 6.0 MB/s real 5m42.236s
user 0m0.104s
sys 0m3.567s
[aikaiyuan@aikaiyuandong]$ time scp file.2g west-ads1:/home/adsymp/dong/

file.2g   100%   2048MB   2.1MB/s   16:06

real    16m8.448s
user 0m43.497s
sys 0m7.548s
结论:

在上面的测试中,传输一个大小为2G的文件,使用BBCP耗时仅5分钟,而普通的SCP则耗时16分钟,速度提升超过60%。

转载请注明:爱开源 » 使用BBCP来提升跨互联网的数据传输速度

使用BBCP来提升跨互联网的数据传输速度的更多相关文章

  1. 【AngularJs】---JSONP跨域访问数据传输

    大家会自然想到只有一个字母之差的JSON吧~ JSON(JavaScript Object Notation)和JSONP(JSON with Padding)虽然只有一个字母的差别,但其实他们根本不 ...

  2. 【AngularJs】---JSONP跨域访问数据传输(JSON_CALLBACK)

    大家会自然想到只有一个字母之差的JSON吧~ JSON(JavaScript Object Notation)和JSONP(JSON with Padding)虽然只有一个字母的差别,但其实他们根本不 ...

  3. T4 模板 : 一种提升ASP.NET MVC开发速度方法

    最近由于需要在框架中提供一些自定义模板的功能,找到了一篇博客,可惜似乎是翻译工具直接翻的,读不通顺,就试着自己翻译下,我不会完全翻译原文的句子,可能会对原文进行小范围的我认为更合适的句子并添加些注释, ...

  4. Docker学习笔记二:Docker常用命令及提升拉取镜像的速度

    一.Docker命令: 1.docker images   //命令用来查看docker中所包含的镜像信息 2.docker ps -a    //命令用来查看docker中所包含所有容器信息(运行状 ...

  5. 如何写出网页高性能的DOM来提升网页的加载速度

    为什么要写高性能DOM? 一个网站,在页面上承载最多内容的就是DOM,而且无论是我们通过加载JS.加载图片,他们也是通过写HTML标签来实现的.而我们性能优化要做的无非就是几大块: 站点的网络消耗 D ...

  6. java打字游戏-一款快速提升java程序员打字速度的游戏(附源码)

    一.效果如图: 源码地址:https://gitee.com/hoosson/TYPER 纯干货,别忘了留个赞哦!

  7. 阿里云全球首次互联网8K直播背后的技术解读

    3月28日,云栖大会·深圳峰会现场,阿里云发布并现场演示了阿里视频云最新8K互联网直播解决方案.这是全球发布的首个8K视频云解决方案,也是全球首次8K互联网视频直播. 视频地址:https://v.q ...

  8. Quick UDP Internet Connections 让互联网更快的协议,QUIC在腾讯的实践及性能优化

    https://mp.weixin.qq.com/s/44ysXnVBUq_nJByMyX9n5A 让互联网更快:通往QUIC之路 原创: 史天 翻译 云技术实践 8月15日 QUIC(Quick U ...

  9. 在路上:安全公司“跨界”SD-WAN

    编者按:本文是SDNLAB“企业+”特别报道之一.“企业+”是SDNLAB重点打造的栏目,汇聚信息行业运营商.设备商.互联网公司.软件公司.集成公司.融创投资公司.科研院所等企业,重新定义IT行业撮合 ...

随机推荐

  1. 集群中用Memcached来实现session共享

    这几天在实现nginx集群的过程中,发现session使用存在问题,登录页面后有时候需要重复登录,和开发部沟通后,决定采用memcached来实现session的共享,这也是各大型网站推荐的方式.开发 ...

  2. 快速理解Docker - 容器级虚拟化解决方案

    是什么 简单的说Docker是一个构建在LXC之上的,基于进程容器(Processcontainer)的轻量级VM解决方案 拿现实世界中货物的运输作类比, 为了解决各种型号规格尺寸的货物在各种运输工具 ...

  3. 红帽Linux 配置VNC桌面远程工具

    1.先确认VNC是否安装 默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上. 使用rpm命令检查是否安装了vnc,如果安装了就显示软件名称: [root@ ...

  4. VisualStudio如何以源码文本方式打开rc文件

    视图 >> 解决方案资源管理器 >> 右击XXX.rc >> 打开方式 >> 源代码(文本)编辑器

  5. iOS UICollectionView之-(水平滚动)

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  6. Excessive AWR Growth From Partitioned Objects Such as SYS.WRH$_EVENT_HISTOGRAM Causing Sysaux to Grow

    AWR数据增长较快,导致sysaux表空间使用较高 SQL> select f.tablespace_name, 2 a.total, 3 f.free, 4 round((f.free / a ...

  7. PostgreSQL 三节点集群故障模拟及恢复

    PostgreSQL 三节点集群故障模拟及恢复 (postgreSQL9.5.1) 正常状态: 10.2.208.10:node1:master 10.2.208.11:node2:standby1同 ...

  8. How to debug PostgreSQL function with pgAdminIII

    How to debug plpgsql with pgAdminIII [root@localhost soft_bak]# git clone git://git.postgresql.org/g ...

  9. PostgreSQL与RPM

    如何查看使用PostgreSQL的RPM包安装后的文件目录及相关路径(PostgreSQLRPM的spec文件已经帮我们创建好了postgres用户及postgres组). 查看RPM文档信息:/us ...

  10. js兼容

    //document.getElementsByClassName(); if (!document.getElementsByClassName) { document.getElementsByC ...