当需要在机器之间传输400GB文件的时候,你就会非常在意传输的速度了。默认情况下(约125MB带宽,网络延迟17ms,Intel E5-2430,本文后续讨论默认是指该环境),scp的速度约为40MB,传输400GB则需要170分钟,约3小时,如果可以加速,则可以大大节约工程师的时间,让攻城师们有更多时间去看个电影,陪陪家人。

目录

1. 结论

2. 测试数据:加密算法和压缩的影响

3. 关于是否启用压缩

4. "压缩级别"对传输速度影响不大

5. 测试数据:完整性校验算法MACs选择

6. 参考阅读

1. 结论

声明:这里给出的测试数据不具有一般性,仅供参考。测试与数据本身特性有很大关系,本文使用InnoDB的redo log作为测试数据。

* 改变ssh加密算法,可以让速度更快;通常,越弱的加密算法,速度越快

* 通常压缩会降低scp速度,但这与数据类型有很大关系,对压缩率非常高的数据启用压缩,可以加速

* 压缩级别对传输效率影响很小

所以,简单尝试如下,让你的SCP速度double一下:

scp -r -c arcfour128 ...

scp -r -c aes192-cbc ...

scp -r -c arcfour128 -o "MACs umac-64@openssh.com" ...

注:启用压缩使用参数: -o "Compression yes"

2. 测试数据:加密算法和压缩的影响

这里对比了12种ssh中实现的加密算法和是否使用压缩的传输效率,测试文件使用的是InnoDB的1GB*4的日志文件(注意:不同类型的文件测试结果会很不同),这里纵坐标单位为MB/s,数据分为压缩传输和不压缩传输两组:

可以看到,不同加密算法传输速度相差很大;使用了压缩之后,速度下降很多,也看到不同加密算法加密后区别并不大。

3. 关于是否启用压缩

* 压缩只有在网络传输速度非常慢,以致于压缩后节省的传输时间大于压缩本身的时间,这时才有效果,所以是否启用压缩,需要实际测试

* 压缩比很低的数据,不要再启用压缩(例如已经压缩过的数据、视频等)

* 通常建议,传输前先压缩,而不是使用ssh的压缩;建议使用pigz/lbizp2等并行压缩工具

* 数据中大量重复、空洞,这类适合压缩的数据,可以尝试压缩选项,例如如下是一组,大量"空洞"数据的测试:

看到,压缩大大提高了传输效率

4. "压缩级别"对传输速度影响不大

最后一组对比是,将压缩级别从1改到9,对比传输速度,纵坐标单位MB/s,对12种加密算法分别使用了测试9个压缩级别,数据如下:

原始数据:

MB/s with-compression without-compressoin

3des-cbc 17.525 13.5

aes256-ctr 20.325 30.2

aes192-ctr 20.275 35.1

aes128-ctr 20.275 38.5

cast128-cbc 20.825 38.9

blowfish-cbc 20.8 43.1

arcfour 21.975 74.2

arcfour128 21.725 75

arcfour256 22.025 75.8

aes128-cbc 21.6 75.8

aes256-cbc 21.325 80.1

aes192-cbc 21.725 85.2

可以看到,压缩级别对传输影响较小。ssh使用的默认压缩级别是6。

5. 测试数据:完整性校验算法MACs选择

通过选项Macs可以设置对应的哈希算法,man ssh_config可以看到支持哪些哈希算法。这里对了比了12中加密算法下使用不用的完整性校验算法的性能情况:

看到,绝大数情况下"umac-64@openssh.com"(关于此哈希)性能都更好,所以建议尝试使用此哈希算法做验证,看看你的场景下速度是否与提升。也可以看到,默认的hmac-md5哈希在默认的加密aes128-ctr下表现比较好;

scp命令默认传输速度多大_加速scp传输速度相关推荐

  1. scp命令默认传输速度多大_测试scp加速传输速度的方法

    玩蛇网推荐图文教程:python 列表 节省时间是IT工作者简明实用代码的体现,测试scp加速传输速度的方法是样的呢?例如要在机器之间传输400GB这样比较大的文件的时候,传输的速度是会是你非常在意的 ...

  2. scp命令默认传输速度多大_每天一个linux命令(60):scp命令

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  3. ftp可以传输什么类型文件_为什么文件传输软件总让数据“没有安全感”?

    最新的<大数据安全市场-全球机会分析和行业预测>报告显示:到2027年,整个大数据安全市场将增长到644亿美金.这对整个大数据营销市场来说,是一个好消息!但在数据极速增长的同时,传输安全. ...

  4. linux的scp命令用不了,CentOS使用不了scp命令怎么办

    scp命令是Linux中的文件传输命令,但在CentOS系统操作中,有时会遇到无法使用的情况,遇到这种情况该如何解决呢?下面小编就给大家介绍下CentOS无法使用scp命令的解决方法. 解决方法 在测 ...

  5. scp命令默认传输速度多大_linux中scp命令使用技巧详解(传输速度)linux操作系统 -电脑资料...

    在linux中scp命令与cp命令一样的是复制文件,下面小编来给各位同学介绍一下关于linux中scp命令使用技巧详解,希望此方法对大家会帮助, scp 命令 scp 可以在 2个 linux 主机间 ...

  6. django默认缓存是多大_半个月搞定Django绝不是空话

    Python下有许多款不同的Web框架,Django是重量级选手中最有代表性的一位.它由Python写成,采用MVC的软件设计模式,许多成功的网站和APP都基于Django. 无论你是Python开发 ...

  7. 为什么计算机关机慢,为什么电脑关机速度很慢_加快电脑关机速度的具体办法...

    我们的电脑使用久后,就会出现各种各样的问题,如关机慢.卡顿等情况.那具体是因为什么原因造成的电脑关机速度慢呢?我们又该怎么来解决这一情况呢?今天系统城小编就来为大家分享关于加快电脑关机速度的具体办法, ...

  8. win7文件传输服务器,大文件传输,教您大文件如何快速传输

    小伙伴们,你们传输大文件给别人的时候是怎么操作的呢?小编我这儿有一种可以快速传输大文件的方法,小伙伴们有兴趣了解一下吗?有的话那现在就六和小编一起去看看吧~ 我们在使用电脑的时候,经常会遇到需要传输大 ...

  9. 计算机启动太慢可以设置什么来加速启动速度,电脑开机速度慢怎么办 如何加速电脑开机速度慢【详细介绍】...

    电脑使用时间长了就会出现电脑开机速度慢的情况,电脑开机很慢,多数情况下是加载项过多,同时垃圾文件过多.磁盘碎片过多都会造成电脑开机很慢,电脑运行也很慢.而如果我们从这几方面入手解决了,电脑速度一定快多 ...

最新文章

  1. 如何用 Python 进行基于深度学习的计算机视觉项目开发?
  2. 流媒体服务器开发笔记(2)--RTCP协议介绍
  3. Leetcode 124题:求⼆叉树中最⼤路径和
  4. 用自动阈值话处理SVM棋盘
  5. 使用tensorflow出现 ImportError: DLL load failed: 找不到指定的程序
  6. 【问链财经-区块链基础知识系列】 第三十一课 Fabric版本变迁之路从1.1-1.4
  7. VTK:图表之VertexSize
  8. Java 中 this 和 super 的用法总结
  9. 51单片机点亮数码管
  10. windows下python Tkinner环境布置(包含PIL环境安装)
  11. pku2192(并查集+枚举)
  12. 系统软件设计和性能的几个要点
  13. html鼠标自动向下滑动,win10电脑中鼠标自动向下或向上滚动怎么解决
  14. 日志配置文件详解-logback,log4j
  15. 阿里矢量图标及其引入方式
  16. MPS | 聊聊功率因数校正那些事儿
  17. Android 9.0 http无法访问网络问题
  18. 程序员真的需要读研究生么?
  19. java 数据倒叙_Java 数组,如何通过自定义实现倒叙排序?
  20. Oracle11g64位安装教程

热门文章

  1. matlab累加数组的前n行,有一组m行n列的数组,在matlab中如何编程,每三个数求一次平均数(行与列分别求)?...
  2. 迁移进行时,告别GitHub的时候到了?
  3. LiveData的基本使用和原理解析
  4. 纯代码告诉你:我的原弈非常(Yanj Future)是怎么下棋的
  5. android TextView 中划线、下划线 跑马灯
  6. 一个不错的 在线字体 网站
  7. 官宣!成都链安在北京成立分部啦!
  8. 4通道并行同步模拟输入,1MSps、16Bit数据采集卡
  9. 海尔简爱S15电脑使用U盘来重新安装Win10系统教学
  10. MTK AF如何开启log 录制mobile log 如何full scan(无指令无图片版本)