tar+pigz+ssh实现大数据压缩传输】的更多相关文章

磁盘读取---->打包---->压缩------>传输---->解压缩-->拆包---->落盘 |->tar     |->gzip      |->ssh      |->gzip   |->tar 比如我要将本地的test目录拷贝到"目标IP"的的data目录,则命令如下: tar -c test/ |pigz |ssh -c arcfour128 目标IP "gzip -d|tar -xC /data&q…
以前我们跨主机拷贝大数据的时候,比如要拷贝超过100GB的mysql原始数据,我们通常的做法如下: 在源端打包压缩为tar.gz文件 采用scp或者rsync等方式拷贝到目标主机 在目标主机解压文件 这三个过程是同步阻塞,即不能同时异步执行,导致效率低下. 现在我们将过程优化为以数据流的方式,同时执行(非阻塞模式),则效率一般可以提高到原来的3倍以上,具体实现如下: 磁盘读取---->打包---->压缩------>传输---->解压缩-->拆包---->落盘     …
使用tar+lz4/pigz+ssh更快的数据传输 -- | :41分类:Linux,MySQL | 前面一篇介绍了如何最大限度的榨取SCP的传输速度,有了这个基础,就可以进一步的使用压缩来加速传输速度了.只使用scp,传输速率最快约90MB,本文通过压缩将把最快传输速率提升到约250MB/s(包括解压的过程). 目录 [hide] . 结论 . 关于lz4 . 性能环境说明 3.1 磁盘读取和落盘 3.2 打包.拆包 3.3 压缩.解压缩 3.4 传输 3.5 整体流程 . 实验测试 4.1…
Android和WCF通信 - 大数据压缩后传输 本帖来源:http://www.cnblogs.com/lykbk/archive/2013/08/15/3259045.html 最近一直在优化项目的性能,就在前几天找到了一些资料,终于有方案了,那就是压缩数据. 一丶前端和后端的压缩和解压缩流程 二丶优点和缺点 优点:①字符串的压缩率能够达到70%-80%左右 ②字符串数量更少了 缺点:①CPU的开销会大一点,不过在可承受范围之内 三丶通过标记来说明数据是否压缩过 这个一开始是没有想到,是经理…
由于项目需要,自己写一个基于WCF的大文件传输服务雏形.觉得有一定的参考价值,因此放在网上分享. 目前版本为v1.1特点如下: 1.文件传输端口为18650 2.上传和下载文件 3.支持获取文件传输状态(未开始.传输中.传输完成.出现错误) 4.支持获取文件传输进度(范围0~1) 5.支持获取文件传输速度速度(按文件传输速度大小 自动切换 KB/s 和 MB/s显示) 项目解决方案如下: 服务断包括WCF寄宿的控制台服务和Windows 服务以及文件传输服务核心 公共包括一些帮助类(文件HASH…
此篇文章主要是基于http协议应用于大文件传输中的应用,现在我们先解析下wcf中编码器的定义,编码器实现了类的编码,并负责将Message内存中消息转变为网络发送的字节流或者字节缓冲区(对于发送方而言).在接收方,编码会将一系列字节转变为内存中的消息 在wcf中有三个编码器 1.TextMessageEncodingBindingElement 文本消息编码器是所有的基于Http的绑定的默认编码器,并且是最关注互操作性的所有的自定义绑定的正确选择.即为请求/应答模式,此编码器读取和编码标准为SO…
首先声明,文章思路源于MSDN中徐长龙老师的课程整理,加上自己的一些心得体会,先总结如下: 在应对与大文件传输的情况下,因为wcf默认采用的是缓存加载对象,也就是说将文件包一次性接受至缓存中,然后生成对象,显然对于大文件的传输,这种方式是不可取的,一般我们采用流传输或者更优秀的本本编码方式,在文本编码这一块我们一般采用w3c提出的MTOM传输机制,MTOM(Message Transmission Optimization Mechanism),是W3C的MTOM的消息传输优化机制,有效地发送的…
http://www.cnblogs.com/happygx/archive/2013/10/29/3393973.html WCF大文件传输 WCF传输文件的时候可以设置每次文件的传输大小,如果是小文件的时候,可以很方便的将文件传递到服务端,但是如果文件比较大的话,就不可取了 遇到大文件的话可以采取分段传输的方式进行文件传输 思路: 1.客户端循环传递 2.将文件分割成指定大小的字节块 3.每次传输一小块后,客户端将当前文件的读取指针移动到指定位置 4.服务端每次依照传递过来的字节文件追加 问…
分类: WINDOWS 最近接触到利用socket进行大文件传输的技术,有些心得,与大家分享.首先看看这个过程是怎么进行的(如下图):      所以,我们需要三个socket在窗体加载的时候初始化: 1. 等到收货请求的socket(即等待对方向自己发出发送文件的请求:monitorSocket,端口:monitorPort) 2. 接收收货方响应的socket(即对方是否愿意接收大文件的回应:responseSocket:端口:responsePort) 3. 收货方收货的socket(即接…
AetherUpload-Laravel是laravel框架下的一个大文件传输组件 github:https://github.com/peinhu/AetherUpload-Laravel 文件传输默认路径:storage\app\aetherupload\file…