Linux配置巨型帧以提高网络性能/吞吐量

时间:2020-01-09 10:43:18  来源:igfitidea点击:

问题描述:巨型帧是具有超过1500字节有效负载MTU的以太网帧。

Linux是否支持巨型帧?
如果是这样,如何在Linux操作系统下将帧设置为9000字节?

解决方法:大多数现代Linux发行版(称为Linux Kernel 2.6.17+)都支持大于1500字节的帧。
这样可以提高性能。
首先,请确保您的网络驱动程序支持自定义MTU。
其次,您需要具有兼容的千兆网卡和交换机(例如具有Supervisor III或者Supervisor IV的Cisco Catalyst 4000/4500交换机),并且框架干净。
如果不确定要求,请参阅产品文档。
巨型帧可以减少"服务器开销",例如,在传输较大文件时,CPU使用率会大大降低。
此外,您还应该看到网络吞吐量有所增加。

为巨型帧配置eth0接口

警告!这些示例可能不适用于您的设置,因为它取决于兼容的网络设备,例如千兆以太网交换机和千兆以太网网络接口卡

只需在shell提示符下执行以下命令即可设置新的MTU(巨型帧):

# ifconfig eth0 mtu 9000

使更改永久生效

编辑eth0接口的网络配置文件,例如/etc/sysconfig/network-script/ifcfg-eth0(CentOS/RHEL/Fedora Linux):

# vi /etc/sysconfig/network-script/ifcfg-eth0

追加以下配置指令,该指令以字节为单位指定帧的大小:

MTU 9000

关于Debian/Ubuntu Linux用户的说明:

Debian/Ubuntu Linux用户应将MTU = 9000添加到/etc/network/interfaces配置文件中。

关闭并保存文件。
重新启动接口eth0:

# /etc/init.d/networking restart

确认在两个特定设备之间使用的MTU。
使用ip命令,如下所示:

# ip route get {IP-address}
# ip route get 192.168.1.1

输出:

192.168.1.1 dev eth0  src 192.168.1.100 
    cache  mtu 9000 advmss 1460 hoplimit 64

应用协议调优

您可能需要调整应用程序/网络协议(例如NFS和SMB)以利用巨型帧。