10 千兆位网卡仅显示一半的吞吐量

10 千兆位网卡仅显示一半的吞吐量

我有两台物理服务器:

  1. 两路 Intel E5504 @ 2GHz、24GB RAM、12x32GB Intel X25-E SSD(RAID10)。
  2. Intel Core2 6400 @ 2.12GHz、3GB RAM、简单的 80GB SATA 驱动器。

两台机器都运行Windows Server 2008 R2现在和10GbitSupermicro AOC-STGN-i2S(实际上它们是英特尔 82599PCIe x4 插槽中有一个带有 Supermicro 标志的 SFP+ 直连双轴电缆。

第二台服务器仅用于测试。

首先,我在第二个上安装了 ESXi,并使用第一个作为数据存储。

我注意到,根据 CrystalDiskMark 的数据,ESX 上的虚拟机仅325MB/秒seq 传输速率(已尝试使用 NFS 和 ISCSI)。

我在本地第一台服务器上运行了同样的测试,结果如下:~1000 MB/秒。我想知道网络链接是否真的会降低 2/3 的速度,所以我更换了 2nd 的硬盘并安装了 Windows Server 2008 R2,并尝试了 Jperf 和 NTTtcp。Jperf 显示400MB/秒NTttcp 显示 4300-4600Mbit/s。Windows 任务管理器显示每个间隔约 600 000 000 字节,相当于4.47 千兆位

我验证了两端都具有全双工,并尝试在两端打开和关闭巨型帧,但差异仅仅是每个间隔 580 000 000 与 600 000 000 字节。

为什么我看到的吞吐量只有理论最大值 10 千兆位的一半?

附录

NTTtcp 命令行:

ntttcpr -m 6,0,192.168.137.1 -a 6 (receiver)
ntttcps -m 6,0,192.168.137.1 -a 6 (sender)

答案1

我怀疑您的 PCI-e x4 插槽是瓶颈。这些插槽的理论吞吐量应在 16 Gbps 范围内(使 NIC 饱和并有剩余空间),但从控制器的角度来看,这并不总是能很好地实现。

有一个 x8 或更高的插槽,您可以从别的地方偷来测试吗?

相关内容