AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 49345
Accepted
Bart Silverstrim
Bart Silverstrim
Asked: 2009-08-04 06:52:22 +0800 CST2009-08-04 06:52:22 +0800 CST 2009-08-04 06:52:22 +0800 CST

大数据传输中的网络性能

  • 772

我正在使用 DD over Netcat 将硬盘从一个系统复制到另一个直接克隆。

我在每个系统上都启动了 RIP。

目标系统:nc -l -p 9000 |pv|dd of=/dev/hda 源系统:dd if=/dev/hda |pv|nc 9000 -q 10

传输似乎徘徊在 10 或 11 MB/s 左右,有 18 个附近的突发记录。这两个系统连接到一个千兆交换机。两者上的 Ethtool eth0 都显示:

Settings for eth0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: umbg
    Wake-on: g
    Current message level: 0x00000007 (7)
    Link detected: yes

我想我可能会混淆传输速率的一些数字,但这是传输数据的预期速度吗?

编辑:我刚刚尝试使用标记为 5e 兼容的两种不同电缆,并使用交叉连接器直接连接两个系统。虽然 ethtool 仍然表示它们的速度设置为 1000Mb/s,但传输速率似乎只比以前略高。我猜是驱动器很糟糕,网卡很粗糙,或者处理器一定是瓶颈。

EDIT2 我刚刚尝试从需要克隆的单元中取出第二个硬盘并将其物理连接到主克隆。最初一个 IDE 通道用于 HD,另一个用于 CD-ROM。我拿了master的硬盘,把它和CD-ROM连接到同一个频道,所以应该是/dev/hda和/dev/hdb。我拿起 CD 上的电缆并将其连接到“空白板”,所以它应该是 /dev/hdc。

我重新启动并运行“dd if=/dev/hda|pv|dd of=/dev/hdc”,我得到了惊人的...10 MB/s。它在 8 MB/s 和飙升至 12 之间剧烈波动。

所以...我认为是硬盘提供了垃圾性能...我只是习惯于网络成为瓶颈,以至于我认为磁盘是问题所在很奇怪!

performance networking netcat
  • 5 5 个回答
  • 1363 Views

5 个回答

  • Voted
  1. James
    2009-08-04T11:25:02+08:002009-08-04T11:25:02+08:00

    dd if=/dev/zero of=/dev/hda 目的地和 源上 dd if=/dev/hda of=/dev/null 的内容是两者中较低的一个,这将为您提供最佳情况。

    如果您有备用 CPU,请考虑 gzip -fast

    值得考虑设置巨型数据包(大 mtu )

    • 2
  2. Kyle Brandt
    2009-08-04T06:57:54+08:002009-08-04T06:57:54+08:00

    我希望更多像 20 MB/s,您使用的是 cat 6 / 5e 布线吗?

    我还会运行 iostat(sysstat 包的一部分),也许看看 iostat 是否认为驱动器的利用率为 100%:

    iostat -c 2 -x
    

    这是 Tom's Hardware 关于千兆网络的一篇不错的文章:千兆以太网:伙计,我的带宽在哪里?

    • 1
  3. Chris Nava
    2009-08-04T11:16:57+08:002009-08-04T11:16:57+08:00

    通过压缩/解压缩传输数据流,以牺牲一些 CPU 为代价提高整体吞吐量。

    • 0
  4. gbjbaanb
    2009-08-05T06:54:07+08:002009-08-05T06:54:07+08:00

    我得到 12MB/秒,但以前得到的速度要少得多——我的特殊问题是驱动器。我正在使用带有可怕 RAID 卡的讨厌的廉价戴尔“存储服务器”。废弃 RAID,用 JBOD 配置替换会产生很大的不同,即使我随后将软件 RAID5 放在首位。

    我还考虑在交换机上设置巨型帧,这将大大提高您的吞吐量。(ifconfig eth0 mtu 9000暂时,或添加MTU 9000到您的 ifcfg 文件以在您的 linux 接口上设置 jumbo)。

    • 0
  5. Best Answer
    Ryaner
    2009-08-05T07:01:13+08:002009-08-05T07:01:13+08:00

    大部分的缓慢来自高清瓶颈。您的平均 HD 将在完全空闲的磁盘/系统/网络上通过网络推送 40-50mb。将 dd 的开销添加到一个简单的 tcp netcat 管道中,该管道绝不针对网络流量进行优化,并且速度开始下降。

    大部分减速来自 TCP 窗口大小。数据包经过,必须等待回复才能发送下一个。通常内部网络具有如此低的延迟,以至于没有人注意到这些。当您以非网络优化的方式进行转储时,Windows 开始到处乱跑。一个很好的例子是在 SP1 之前的版本中的 Vistas 网络文件复制,当 TCP 窗口调整出错时,它的传输速度低于每秒 100kb。

    另外作为参考,我在这里有两个盒子,而不是通过他们的网络以每秒 60-80 兆的速度持续推送到其他盒子。他们确实有专用的 NIC、RAID 10 和一堆 10000RPM SAS 驱动器来提供这种速度。

    • 0

相关问题

  • 上线的第一天:如何不杀死您的网站

  • IIS 优化

  • 为什么我的电脑休眠时 VPN 连接会中断?[关闭]

  • 有什么软件可以模拟局域网?

  • 带宽利用工具?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve