有的时候提高linux系统网卡的吞吐量,需要开启中断平衡,但前提是内核或者应用程序需要支持多核下的并发操作,否则会因为并发错误,导致程序行为出差。需要关闭中断自平衡和固定绑定中断号到固定的CPU,程序运行退回到单核模式。
1. 关闭irqbalance
service irqbalance stop
关闭开机启动
chkconfig irqbalance off
2. 绑定中断(需要将混杂口和vhost0对应的物理口都绑定)
a. 查看网卡中断号,
#16是中断号
cat /proc/interrupts | grep <interface_name>
16: 4395027 0 0 0 IO-APIC-fasteoi vmwgfx, ens34
b. 绑定中断号
echo '2' > /proc/irq/16/smp_affinity
3. linux RPS RFS
利用软件的方法,将网卡单队列模拟成多队列,然后将不同的队列绑定到不同的CPU