将 Nics 与 Linux 绑定以获得更好的性能

将 Nics 与 Linux 绑定以获得更好的性能

我正在尝试将两个网卡绑定在一起以获得更好的性能。我有两个 1000MBps 的英特尔网卡。当我有一个网卡时,我运行了一些基准测试,速度为 106 MB/s。这非常接近 1GBps。所以我对此很满意。当我添加第二个网卡并将其与模式 0(balance-rr)绑定在一起时,我仍然看到相同的 106 MB/s。

我的设置是:服务器 ====== 交换机 ===== 存储

存储和服务器都连接了两个网卡。我知道这不是存储的问题,因为我可以同时运行两个基准测试并获得 2 Gbps 的吞吐量。

我很确定此设置仅使用一个网卡。有什么方法可以设置以获得更好的性能吗?

答案1

我认为您可能认为绑定可以做比实际更多的事情。两个主机之间的单个连接几乎永远无法使用超过单个接口的容量。当您拥有来自许多主机的大量并行连接时,聚合非常有用。查看模式 0 的描述。

循环策略:按顺序从第一个可用从属设备到最后一个可用从属设备传输数据包。此模式提供负载平衡和容错功能。

它只对正在传输的数据包进行轮询。它不会也不能做任何事情来平衡接收的数据包。传入的数据包几乎仅限于单个接口。如果您的测试是将文件从存储阵列复制到您的服务器,那么您可能大部分时间都在接收数据。

答案2

这里可能发生的情况是,当发送方在两个 NIC 之间进行平衡时,交换机会将所有数据包通过一个端口发送到接收方,因为只有一个接收 NIC 正在进行 ARPing(或者您的交换机只针对一个端口记录 MAC)。您可以通过查看端口统计信息来检查这一点。

如果你有多个交换机,并且将每个服务器中的一个 NIC 连接到每个交换机,并且没有交叉连接,那么你可能会获得更好的性能。但是,这取决于两个都双方(存储和服务器)进行循环平衡,而不会对整个情况感到困惑并放弃。了解涉及的存储的详细信息可能会发现有关您所使用的存储是否能够做正确事情的更多详细信息。

相关内容