我有一个Intel 82598EB 10GBE网卡。
我需要接收没有丢包的流量。
数据速率4-5 Gbps,数据包大小1500-9600字节
我已经配置了smb和irq关联。我还尝试使用包套接字(PF_PACKET)。
这些都没有帮助。小损失总是存在的。
现在我计划在编译内核时禁用任何增加sk_buff大小的配置设置,并禁用IOMMU。
还有什么方法可以提高rx性能?
白天我在更改驱动程序设置和网络子系统设置。发现只有net.core。rmem_default有影响(我使用UDP)
如果您的系统是numa节点设置,则Rx或Tx性能可能会下降。如果你的系统有numa节点,那么当你把你的10G卡放在PCI_E插槽时,检查你要把哪个CPU的PCI-E插槽根据分配irq给特定的CPU核心,看看它是否有帮助。
某些网卡默认rx在默认情况下未设置为Max。rx/tx的默认值和最大值可以使用ethtool -g <interface>
找到,并使用ethtool -G <interface> rx value
命令修改。