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