万兆网络数据传输-scp加速

在万兆甚至更高的网络带宽场景下 scp 的传输效率并不如人意。毕竟 scp 是旧时代的产物,那时千兆网络都很罕见。以下通过修改压缩方式的方法提升数据的传输速度。同时也采用 ncbbcprsync 进行了对比测试。

目录

    • scp
      • 采用默认方式
      • 更改压缩算法为 aes192
    • nc
    • bbcp
    • 结论

创建 10GB测试数据。

[root@c3-60 data]# dd if=/dev/zero of=test.img bs=1024k count=10000
10000+0 records in
10000+0 records out

我的测试环境是千兆网络。

scp

采用默认方式

[root@c3-60 data]# scp test.img root@c3-61:/dev/null
test.img                                100%   10GB  62.6MB/s   02:39

更改压缩算法为 aes192

[root@c3-60 data]# scp -c aes192-cbc test.img root@c3-61:/dev/null
test.img                                100%   10GB 111.3MB/s   01:29 

很明显,传输速度提升了50%。

[参考]
https://www.orczhou.com/index.php/2013/11/make-scp-faster-with-cipher-and-compression/

nc

nc 是一个常用的网络工具,它的全名是 Netcat。nc 可以在网络中传输数据,也可以用于监听端口、创建服务器、进行端口扫描等。

接收端打开端口

nc -l 6666 >/dev/null

发生端发送文件

nc c3-61 6666 < test.img 

以下是不通传输方法的结果对比
在这里插入图片描述

bbcp

bbcp 是一种用于高性能、并行文件传输的工具。它的全名是 “BBCP - Bulk Data Copy Program”。bbcp 被设计用于在大规模计算环境中快速、可靠地传输大量数据。
下载地址:https://www.slac.stanford.edu/~abh/bbcp/bin/

传输数据

bbcp -f  test.img root@c3-61:/dev/null

传输文件夹

 bbcp -f -r -s 16 taos/data root@c3-61:/data/bak

参数简介:
-f 删除目标端同名文件
-r 文件递归复制
-s 并行线程数(默认4)

注意:
nc相同,bbcp 也必须在接收端和发送端同时存在(接收端无需主动运行)。

在这里插入图片描述

结论

  1. 修改压缩算法能够提升 scp 的数据传输速度。
  2. nc 传输的速度较 scp 更快,但 nc 也有很大缺点,需要服务端和客户端进行配合,而且不能传输文件夹【可通过 tar 间接实现】。
  3. bbcp 传输速度接近甚至超过 nc,同时支持传输文件和文件夹【强烈推荐】。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/448310.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c#的反汇编对抗

文章目录 前记nim攻防基础FFI内存加载加解密、编码 后记C#类型转换表nim基础 前记 随便编写一个c#调用winapi并用vs生成dll,同时用csc生成exe using System; using System.Runtime.InteropServices; namespace coleak {class winfun{[DllImport("User32.dll")]publ…

leetcode189.轮转数组|超简单易于理解方法

题目 https://leetcode.cn/problems/rotate-array/description/https://leetcode.cn/problems/rotate-array/description/ 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输…

Linux操作系统——管道(二) 进程池

概念层面理解进程池 比如说我们一开始有一个父进程&#xff0c;分别创建5个管道&#xff0c;5个子进程&#xff0c;这5个子进程都向管道里面进行读取&#xff0c;而我们对应的父进程&#xff0c;因为我们前面谈过管道的4种情况里面&#xff0c;有一个种情况是&#xff0c;正常…

在PostgreSQL中不开归档?恭喜你!锅你背定了

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

huggingface打不开,解决方法

解决方法 将 https://huggingface.co/hustvl/Vim-tiny替换成 https://hf-mirror.com/hustvl/Vim-tiny文章目录 解决方法摘要YoloV8改进策略&#xff1a;基于分层注意力的FasterViT&#xff0c;让YoloV8实现性能的飞跃YoloV8改进策略&#xff1a;InceptionNext主干替换YoloV8…

JavaScript 基础五 对象

JavaScript 基础五 对象 1. 对象2. 对象使用① 声明语法② 对象有属性和方法组成③ 属性对象属性的增删改查操作 ④ 方法 3. 对象遍历实例 4. 内置对象① 内置对象② 内置对象Math属性方法 引入&#xff1a;保存网站用户信息&#xff0c;比如姓名、年龄、电话号码&#xff0c;用…

element-ui button 仿写 demo

基于上篇 button 源码分享写了一个简单 demo&#xff0c;在写 demo 的过程中&#xff0c;又发现了一个小细节&#xff0c;分享一下&#xff1a; 1、组件部分&#xff1a; <template><buttonclass"yss-button"click"handleClick":class"[ty…

第二十一回 阎婆大闹郓城县 朱仝义释宋公明-FreeBSD Linux 使用Rsync备份

阎婆状告宋江杀死她女儿阎婆惜&#xff0c;知县有意偏袒宋江&#xff0c;只是一味的拷打唐牛儿&#xff0c;但无奈张三张文远说刀子是宋江的&#xff0c;知县不得已差人拿宋江来审问。第一次没见到人&#xff0c;第二次派朱仝雷横两个人去。 朱仝到地窖里找到了躲藏的宋江&…

使用STM32 DMA实现高效数据传输的设计与优化

使用STM32的DMA功能可以有效地实现高效的数据传输。在下面的解释中&#xff0c;我将介绍如何设计和优化使用STM32 DMA进行高效数据传输的方法。同时&#xff0c;我将提供一些示例代码来帮助您理解和实践。 ✅作者简介&#xff1a;热爱科研的嵌入式开发者&#xff0c;修心和技术…

3.霍夫曼求直线原理与代码(python)

一、原理 我们常用的直线方程是&#xff1b; 对这个公式移项后得到&#xff1b; 其实&#xff0c;当确定时&#xff0c;这条直线就确定了。我对霍夫曼求直线的理解是&#xff1a;在一个二维平面上有很多个点&#xff0c;然后对取不同的值时得到不同的直线&#xff0c;查看二维…

产品经理学习-产品运营《海报制作》

如何策划一款优秀的海报 海报是什么&#xff1f; 是一种将文字和图片结合的信息传递形式&#xff1b;其作用和目的是把想传递给用户的信息高效的传递出去&#xff0c;让用户在极短的时间内产生兴趣&#xff0c;进而产生收藏、分享等行为。 海报的类型&#xff1a; 类型 特点 …

苹果家的脸部电脑终于来啦!

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…