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 / 问题 / 1061574
Accepted
Meni
Meni
Asked: 2021-04-27 02:31:31 +0800 CST2021-04-27 02:31:31 +0800 CST 2021-04-27 02:31:31 +0800 CST

网卡绑定很慢

  • 772

我有 2 个 dl380 g9 服务器,它们具有 2 个 nics 和 4 个端口,每个端口都运行 debian buster。我已将 7x 0.50m cat6e 跳线直接连接到服务器,并将两台服务器上的 /etc/network/interfaces (IP 地址略有不同)设置为:

auto lo
iface lo inet loopback

iface eno1 inet manual

auto eno2
iface eno2 inet manual

auto eno3
iface eno3 inet manual

auto eno4
iface eno4 inet manual

auto eno49
iface eno49 inet manual

auto eno50
iface eno50 inet manual

auto eno51
iface eno51 inet manual

auto eno52
iface eno52 inet manual

auto bond0
iface bond0 inet static
        address 10.10.10.11/24
        bond-slaves eno2 eno3 eno4 eno49 eno50 eno51 eno52
        bond-miimon 100
        bond-mode balance-rr

auto vmbr0
iface vmbr0 inet static
        address 10.0.0.234/16
        gateway 10.0.0.1
        bridge-ports eno1
        bridge-stp off
        bridge-fd 0

计划是使用绑定连接在节点之间进行 zfs 复制。问题是我得到的 thourhgput 限制为 2.25gbps(取自 nload 的值)。情况的奇怪部分是,如果我绑定 3 个端口 insetad 的 7.......我再次获得 2.25gbps。就像没有使用4个端口一样。知道如何诊断问题吗?

debian bonding nic
  • 2 2 个回答
  • 868 Views

2 个回答

  • Voted
  1. Best Answer
    suprjami
    2021-05-20T22:55:11+08:002021-05-20T22:55:11+08:00

    不要使用循环:bond-mode balance-rr

    这种模式会导致大量无序的 TCP 流量并像您遇到的那样限制吞吐量。

    更改bond-mode balance-xor平衡单个流出债券的每个成员的债券。因此,单个流将以 1 倍 NIC 速度 (1 Gbps) 运行,但您可以运行多个流并实现所有 NIC 的全速 (7 Gbps)。

    如果流量在同一个子网内,那么默认值bond-xmit-hash-policy layer2可能没问题,这会根据 MA​​C 地址执行负载平衡。

    如果您的所有流量都通过默认网关,请分别查看 IP 地址和 TCP/UDP 端口的设置bond-xmit-hash-policy layer2+3或bond-xmit-hash-policy layer3+4平衡。这将允许您平衡到多个主机的流,或到同一主机的多个会话,或者只是改进平衡算法。

    我认为您的交换机正确配置了端口通道或 EtherChannel 或其他类型的链路聚合组。balance-rr无论如何,这对于您现有的模式是必需的。交换机将拥有自己的负载平衡策略(类似于上面的第 2/3/4 层),因此请确保交换机也配置了有用的策略。

    确保您正在运行 irqbalance,以便多个 CPU 可以同时接收流量。如果您不传播 IRQ,那么所有流量都将由 CPU 内核 0 处理,这将成为瓶颈。

    但是,如果您的目标是实现单个 7Gbps TCP 流,这不是绑定或组合提供的功能,也不是链路聚合的工作方式。如果您想要一个更快的流,则升级到 10 Gbps 或更快。

    • 3
  2. kab00m
    2021-04-27T03:59:20+08:002021-04-27T03:59:20+08:00

    网络接口绑定与交换机中的通道聚合并不完全相同。交换机端口简单,所有端口都连接到同一个结构,但计算机接口复杂。一些网络交换进程被卸载到网卡,如果它们没有被卸载,它们将占用 CPU 时间。

    它会导致很多问题 - 例如,您可以将 TCP 功能卸载到网卡,但您不能通过此连接上的其他网卡发送数据包。

    这意味着无论何时使用粘合,您都应该精心计划并彻底测试。您还必须为您的特定任务找到正确的解决方案。

    1. 您应该尝试不同的键合模式。我们在这里使用 balance-tcp,这限制了每个连接使用一个接口,但允许将任何可能的功能卸载到 NIC。如果您有许多 tcp 连接,这将起作用。

    2. 您可能想尝试合作而不是结合。这实际上是结合许多新功能和降低开销的新词。

    3. 每次更改设置时,您都应该以不同的方式对其进行测试——大块、小块、一个连接、多个连接、很多连接。看看 fio(1)。不要忘记在所有情况下监控 CPU 使用情况。

    4. HP dl380g9 有很棒的可选 10G 夹层卡,如果我在那里,我会考虑购买 10G 卡而不是搞乱绑定。并注意不要在那些上使用铜以太网,只使用光纤或直接电缆。

    • 1

相关问题

  • 关闭 FTP

  • 如何在同一台电脑上从 putty 连接 debian vmware

  • debian- 文件到包的映射

  • Debian Ubuntu 网络管理器错误 [关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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