多队列网卡中断绑定cpu
点击蓝字关注这个神奇的公众号~
序言
在进行性能测试 的时候做好监控是非常有必要的,下面来介绍下我在进行性能测试时,通过cpu监控发现的问题及相应的解决办法。
问题
在进行压力测试的时候发现有一个核cpu使用率非常高,仔细查看软中断(si)使用率竟占了42%。
软中断高
我们就先看下网卡多队列情况,通过cat /proc/interrupts |grep eth2可以看出我所使用的网卡有24个队列:
(队列太多,这里只截取其中一部分,队列号是从131-155)
接下来我们看下这24个队列软中断和cpu绑定情况,for i in {131..155};do cat /proc/irq/$i/smp_affinity_list;done。
可以看出确实都绑到cpu0上面去了,知道了原因我们就重新绑定一下网卡中断队列和cpu对应关系。
把队列号和多核cpu一一绑定:
echo "0" >/proc/irq/131/smp_affinity_list
echo “1” >/proc/irq/132/smp_affinity_list
echo “2” >/proc/irq/133/smp_affinity_list
echo “3” >/proc/irq/134/smp_affinity_list
echo “4” >/proc/irq/135/smp_affinity_list
......
再来看下网卡多队列绑定cpu情况:
可以看出24个网卡中断队列和24核cpu都一一绑定上了。
因为操作系统的不同,这里也可以使用网上大神写好的脚本代码,直接执行脚本加需要绑定的网卡即可./set_irq_affinity.sh ethX。
脚本内容如下:
绑定完了后的效果如下:
相同的压力,可以看出24核cpu,总使用率和软中断使用率都很平均,效果很明显。
Qtest是360旗下的专业测试团队!
是WEB平台部测试技术平台化、效率化的先锋力量!
陪伴是最长情的告白
每日为你推送最in的测试技术
识别二维码
关注我们