我有一台运行 ubuntu 的服务器,我有一张配置了 mtu 9000 的 10G 卡,而 NFS 服务器也有一张 10G 卡,并通过专用链路直接连接到服务器(中间没有交换机)。ubuntu 服务器具有以下设置
enp66s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000
inet 192.168.1.2 netmask 255.255.255.252 broadcast 192.168.1.3
inet6 fe80::d65d:64ff:fe09:b66 prefixlen 64 scopeid 0x20<link>
ether d4:5d:64:09:0b:66 txqueuelen 1000 (Ethernet)
RX packets 3065123981 bytes 3717515096214 (3.7 TB)
RX errors 1963997 dropped 0 overruns 1887746 frame 76251
TX packets 2720860289 bytes 4802586105745 (4.8 TB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 99 memory 0x20080800000-20080ffffff
并且 nfs 服务器具有以下配置,
bnxt2: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 9000 options=4e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,
LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG>
ether 84:16:0c:aa:6b:32
inet 192.168.1.1 netmask 0xfffffffc broadcast 192.168.1.3
media: Ethernet autoselect (10GBase-CR1 <full-duplex>)
status: active
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
当我使用 dd 命令复制一些数据时,我得到来自 bmon 的以下信息,但无法获得 10G 连接,或者我不确定是否获得 10G 连接。请看一下并解释我是否以优化的方式利用了 10G。
请注意,屏幕截图中1185 / 1167 Mi B /s 中的大写字母B - 1192 MiB/s 或 1250 MB/s 是 10 Gbit/s 以太网连接的理论最大值,不考虑任何 L2/L3/L4 开销。
由于使用了巨型帧,您已经非常接近了。使用 NFS over TCP over IPv4 over 10GE,您可以计算出使用标准 1500 字节 MTU 时最大可实现吞吐量为 1186.6 MB/s,使用 9000 字节 MTU 时最大可实现吞吐量为 1239.2 MB/s。
使用二进制 MiB/s 对于吞吐量计算不是很有用,但如果需要的话,可以将上述数字乘以 0.9547。