有的時候提高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