我有一个 Intel 82598EB 10GBE NIC。
我需要接收流量而不会丢失数据包。
数据速率为 4-5 Gbps,数据包大小为 1500-9600 字节。
我已经配置了 smb 和 irq 亲和力。我也尝试使用 packets socket (PF_PACKET)。
这些都没有帮助。小损失总是存在的。
现在我计划编译内核,禁用任何增加 sk_buff 大小和禁用 IOMMU 的配置设置。
还有什么方法可以提高 rx 的性能?
白天,我正在更改驱动程序设置和网络子系统设置。发现只有 net.core.rmem_default 有影响(我使用 UDP)。
如果您的系统是 numa 节点设置,则 Rx 或 Tx 性能可能会下降。如果您的系统具有 numa 节点,则在将 10G 卡放入 PCI_E 插槽时,请检查您要放置哪个 CPU PCI-E 插槽,然后根据将 irq 分配给特定 CPU 内核,看看是否有帮助。
某些 nic 默认 rx 在默认情况下没有设置为 max。rx / tx 的默认值和最大值可以使用ethtool -g <intece>
找到,并使用命令ethtool -G <intece> rx value
修改。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(40条)