我正在以下服务器上测试基于DPDK的OpenvSwitch实现(github.com/01org/dpdk-ovs)的性能:
基本上我的设置包括两个端口,流量进入port0并由dpdk转发到port1。虽然我使用DPDK软件在机器上的不同核心上隔离了进程,但性能非常低。我没有做IRQ关联,因为DPDK有轮询模式用户驱动程序。
现在我开始怀疑,如果服务器的CPU速度可能会对整体性能产生影响?我的意思是关于网卡速度和数据包处理性能,减慢CPU是否正常,即降低频率,以获得更好的性能,或者听起来很愚蠢?
感谢。
答案 0 :(得分:0)
其极不可能的CPU会降低其数据包处理周期的速度,并具有相应的NIC处理能力。理想情况下,当NIC以其满容量工作时,意味着当其数据包缓冲区被DMA连接到系统内存形式时,NIC内存不需要任何CPU周期。当DPDK PMD rte_eth_rx/tx_burst()
执行接收或传输两个不同的物理CPU(在您的情况下)或超线程lcores时,则需要CPU周期。因此,为了在NIC容量下进行更好的性能处理,您可能需要额外的内核,但它不会降低CPU的速度。