我正在测试 Mellanox 100G NIC,对于 PCIe Gen3、32lane,这些 NIC 与 4slot 连接。每个 Rx、Tx 端口有 2 个插槽,我将数据包从生成器发送到 100G NIC
我认为每个通道都有 1000MB 带宽,将其转换为 Gb 为 8Gb,因此 NIC 可以获得的总带宽为 32*8Gb = 256Gb,
但我对 pcm-pcie.x 进行了测试,它给出了带宽读/写结果似乎很奇怪。它溢出给定的 PCIe 限制(256Gb)
这是测试结果
所以我的问题是
1.如 64 字节结果所示,PCIe Rd Byte 为 37G,PCIe Wr Byte 为 14G 将其转换为 Gb(*8) 37GB -> 296Gb / 14Gb -> 232Gb 296Gb 溢出给定 PCIe Gen3 规范。它可能吗?或者我错过了什么?
2.随着数据包大小的减少(1512 > 512 > 64)总 PCIe 带宽增加,对吗?我认为如果 pakcet 大小更大,数据包会突发发送,因此会增加带宽,但结果相反
3.除此之外, PCI Express 参数摘要 “总带宽”术语似乎是有线的。数据速率是 PCIeGen3 1000MB/s x16 是 16Gbs 但总意味着 32Gb?什么是总的意思?它结合了读/写?如果是,PCI 是否可以同时处理读/写,因此它可以读取 16Gb*2、32Gb?