我正在运行 Debian Linux 6.0 (2.6.32-5-amd64)。我的网络 NICS 是 Intel 82580 Gigabit,运行 IGB 网络驱动程序版本 3.3.6(固件版本 3.2-9)。
我测试了性能并注意到大量数据包丢失。
我的测试很简单:将文件 tcpreplay 到 IGB 接口,并在另一端运行 tcpdump 以验证所有数据包是否已到达。
即使吞吐量很小,我也遇到过很多次掉线的情况。
我将端口切换到旧的 e1000e 驱动程序,一切都运行正常。
我尝试执行以下操作并得到了相同的结果:
降级驱动程序版本,安装源力 igb 驱动程序,安装支持 igb 的 PF_RING,使用 snaplen 和缓冲,我从 kernel.org 将内核版本升级到最新的 3.2.5
有人知道如何解决这个问题吗?
谢谢
答案1
IGB 卡在默认 IRQ 分配下通常运行缓慢。您可能需要设置 CPU 亲和性。英特尔提供这个文件指导整个过程。
答案2
尝试将最新的 Intel NIC 驱动程序编译为内核模块,并使用它代替 stocker。它对我来说效果很好。