使用BBCP来提升跨互联网的数据传输速度
背景介绍:
目前项目在美国东西部以及欧洲都有服务器节点,跨互联网的数据传输速度很不稳定,之前我们主要是通过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来提升跨互联网的数据传输速度的更多相关文章
- 【AngularJs】---JSONP跨域访问数据传输
大家会自然想到只有一个字母之差的JSON吧~ JSON(JavaScript Object Notation)和JSONP(JSON with Padding)虽然只有一个字母的差别,但其实他们根本不 ...
- 【AngularJs】---JSONP跨域访问数据传输(JSON_CALLBACK)
大家会自然想到只有一个字母之差的JSON吧~ JSON(JavaScript Object Notation)和JSONP(JSON with Padding)虽然只有一个字母的差别,但其实他们根本不 ...
- T4 模板 : 一种提升ASP.NET MVC开发速度方法
最近由于需要在框架中提供一些自定义模板的功能,找到了一篇博客,可惜似乎是翻译工具直接翻的,读不通顺,就试着自己翻译下,我不会完全翻译原文的句子,可能会对原文进行小范围的我认为更合适的句子并添加些注释, ...
- Docker学习笔记二:Docker常用命令及提升拉取镜像的速度
一.Docker命令: 1.docker images //命令用来查看docker中所包含的镜像信息 2.docker ps -a //命令用来查看docker中所包含所有容器信息(运行状 ...
- 如何写出网页高性能的DOM来提升网页的加载速度
为什么要写高性能DOM? 一个网站,在页面上承载最多内容的就是DOM,而且无论是我们通过加载JS.加载图片,他们也是通过写HTML标签来实现的.而我们性能优化要做的无非就是几大块: 站点的网络消耗 D ...
- java打字游戏-一款快速提升java程序员打字速度的游戏(附源码)
一.效果如图: 源码地址:https://gitee.com/hoosson/TYPER 纯干货,别忘了留个赞哦!
- 阿里云全球首次互联网8K直播背后的技术解读
3月28日,云栖大会·深圳峰会现场,阿里云发布并现场演示了阿里视频云最新8K互联网直播解决方案.这是全球发布的首个8K视频云解决方案,也是全球首次8K互联网视频直播. 视频地址:https://v.q ...
- Quick UDP Internet Connections 让互联网更快的协议,QUIC在腾讯的实践及性能优化
https://mp.weixin.qq.com/s/44ysXnVBUq_nJByMyX9n5A 让互联网更快:通往QUIC之路 原创: 史天 翻译 云技术实践 8月15日 QUIC(Quick U ...
- 在路上:安全公司“跨界”SD-WAN
编者按:本文是SDNLAB“企业+”特别报道之一.“企业+”是SDNLAB重点打造的栏目,汇聚信息行业运营商.设备商.互联网公司.软件公司.集成公司.融创投资公司.科研院所等企业,重新定义IT行业撮合 ...
随机推荐
- 【Netty学习】 ChannelHandler 改动及影响
channelHandler 在Netty 4.x版本有了相当大的改动 http://netty.io/wiki/new-and-noteworthy.html 官网的更新改进说明. 以下节选官网 ...
- android 二维码生成
1,activity public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); set ...
- 抽取AWR数据
使用$ORACLE_HOME/rdbms/admin/awrextr.sql $ sqlplus '/as sysdba' SQL*Plus: Release Production on Fri No ...
- ASP.NET在IE9,IE10,IE11中Form表单身份验证失效问题解决方法
已经研究出解决方案. IE9:在web.config中的forms中增加name=".xCookie"属性即可. IE10或IE11: 在web.config中的forms中增加c ...
- Java基础之序列化对象——反序列化对象(DeserializeObjects)
控制台程序,使用如下代码能读入包含Junk对象的文件: import java.io.*; import java.nio.file.*; class DeserializeObjects { pub ...
- iOS中model出来一个控制器的尺寸怎么设置?
在xib的控制器里添加self.preferredContentSize = CGSizeMake( , ) 就能修改xib在界面上显示的大小- (void)viewDidLoad { [super ...
- Effective C++ 4.设计与声明
//条款18:让接口容易被正确使用,不易被误用 // 1.如果客户企图使用某个接口而却没有获得他所预期的行为,那么这个代码就不该通过编译. // 2.促进正确使用的方法包括接口的一致性,以及与内置类型 ...
- Python学习总结10:获取shell输出结果
Python中获取shell命令的输出结果的常见方法如下几种: 1. import subprocess output = subprocess.Popen(['ls','-l'],stdout=su ...
- C#: 集合
摘自http://www.cnblogs.com/kissdodog/archive/2013/01/29/2882195.html 先来了解下集合的基本信息 1.BCL中集合类型分为泛型集合与非泛型 ...
- C++初学者 const使用详解
关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,参考了康建东兄的const使用详解一文,对其中进行了一些补充,写下了本文. 1. const常量 如: cons ...