网卡中断设置

密集网络IO的服务器,需要设置网卡中断来解决性能瓶颈。通过使用top观察每个核的si是否很高。如果处理网络中断的CPU达到瓶颈,将会影响网卡收发包,严重的情况下会出现大量丢包。通过下面的脚本,可以将软中断平均到CPU的每个核上,解决网卡中断瓶颈问题。

ffffff 这里是根据CPU核数进行计算的
  1. #!/bin/bash
  2. # Enable RPS (Receive Packet Steering)
  3. rfc=4096
  4. cc=$(grep -c processor /proc/cpuinfo)
  5. rsfe=$(echo $cc*$rfc | bc)
  6. sysctl -w net.core.rps_sock_flow_entries=$rsfe
  7. for fileRps in $(ls /sys/class/net/eth*/queues/rx-*/rps_cpus)
  8. do
  9. echo ffffff > $fileRps
  10. done
  11. for fileRfc in $(ls /sys/class/net/eth*/queues/rx-*/rps_flow_cnt)
  12. do
  13. echo $rfc > $fileRfc
  14. done
  15. tail /sys/class/net/eth*/queues/rx-*/{rps_cpus,rps_flow_cnt}