在做云存储测试的过程中,使用海光CPU,发现网络流量一直上不去,导致大量丢失数据,用top观察,有个进程,ksfotirqd占用cpu较高,使用
top 1 看到其中一个核的cup 的软中断占用高,导致网络性能低,参考:https://blog.51cto.com/wwdhks/1218785
通过下面的脚本可以提高cpu的软中断负载
#!/bin/bash
# Enable RPS (Receive Packet Steering)
rfc=4096
cc=$(grep -c processor /proc/cpuinfo)
rsfe=$(echo $cc* $rfc | bc)
sysctl -w net.core.rps_sock_flow_entries=$rsfe
for fileRps in $(ls /sys/class/net/eth*/queues/rx-*/rps_cpus)
do
echo fff > $fileRps
done
for fileRfc in $(ls /sys/class/net/eth*/queues/rx-*/rps_flow_cnt)
do
echo $rfc > $fileRfc
done
tail /sys/class/net/eth*/queues/rx-*/{rps_cpus,rps_flow_cnt}