如何在Linux上配置绑定网卡的发送和接收速度?

如何在Linux上配置绑定网卡的发送和接收速度?

我们有一台绑定了 2 个 10Gbps 的 RedHat 7.4 Linux 服务器,但由于某种原因,它无法以超过 1Gbps 的速度向另一台具有 10Gbps NIC 的服务器发送文件,接收工作正常,但无法发送。

谁能告诉我在哪里可以检查导致此问题的原因以及如何解决它?

作为参考,我们在两端运行了 iPerf,接收速度高达 9.53Gbps,但发送速度从未高于 955Mbps。

谢谢。

答案1

导致您出现此问题的原因有很多。常规解决方法如下:

  1. 因此 iperf 给出的数字正常,猜测问题不在于网络本身,而在于其他地方。但请使用ethtool -Sip -s -s link show命令检查两个绑定成员接口的计数器。也许 iperf 流量通过正常支路,但文件交换流量通过绑定的不良支路。检查 NIC 环的大小。检查暂停帧的统计信息 - 使用流量控制。
  2. 第一个检查点 - 存储子系统。磁盘速度慢可能会成为瓶颈。请使用blktraceiotop、等工具iostat
  3. 使用 tcpdump/wireshark 捕获流量并进行分析。Wireshark 有出色的内置工具。检查窗口大小图表 - 它显示是否存在网络问题,例如丢失或拥塞。
  4. 下一个检查点 - 读/写套接字缓冲区的大小。通过应用程序配置增加它或使用sysctl(变量*_rmem和)更改默认值。使用或*_wmem检查统计计数器。netstatnstat
  5. 查看 CPU 负载。可能某个 CPU 核心过载,但其他核心处于空闲状态。
  6. 检查 GRO/LRO 和其他卸载。试用一下。
  7. 检查拥塞控制算法。

相关内容