我总是在配备 Intel Xeon Gold CPU 的服务器上运行 XDP 应用程序,性能一直很好而且不是问题 - 使用 100 GbE MCX515A-CCAT 网卡和 2 个 CPU 在 1U 服务器内最高可达 125Mpps。
今天我试图让它在 AMD EPYC 7371 上工作,但由于某种原因,性能结果非常低——我得到的最大值是 13Mpps,使用相同的网卡和 1 个 AMD EPYC 7371。所有内核都被推到最大值(100 %)。
在 ubuntu 18.04(以及之后的 20.04)上进行了测试。我已经安装了与英特尔 (OFED) 相同的 Mellanox 驱动程序,并像往常一样进行了其他配置。
我在驱动程序模式下运行 XDP,启用了 JIT。其他调优如下:
sudo mlnx_tune -p HIGH_THROUGHPUT
sudo ethtool -G enp65s0 rx 512 tx 512
sudo ethtool -L enp65s0 combined 8
sudo ethtool --show-priv-flags enp65s0
sudo ethtool --set-priv-flags enp65s0 rx_cqe_compress on
我还应该做些什么才能在 AMD CPU 上运行它?因为性能不能这么低,而且我想我在整个过程中都错误地配置了一些东西?
有关我们配置的更多信息:20.04 的内核 5.4 和 18.04 的 4.5,我们从我们的第二台机器 (TRex) 生成流量,该机器也有 MCX515A-CCAT 网卡并使用 Mellanox 100 GbE 电缆连接到第一台机器(AMD 一台)