微信号:gh_1cb598337696

介绍:Qtest,是360公司唯一的服务端测试团队.我们的理念是做一个会编程的测试工程师,做一个不断思考,全力保证产品质量的测试工程师.

多队列网卡中断绑定cpu

2018-05-17 18:51 明哲

点击蓝字关注这个神奇的公众号~

序言

在进行性能测试 的时候做好监控是非常有必要的,下面来介绍下我在进行性能测试时,通过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的测试技术

识别二维码

关注我们


 
Qtest之道 更多文章 图像识别在测试中的应用 unittest+多线程+BeautifulReport = 一份完美的测试报告 算法测试探索 LoadRunner之参数化 SDK启动时间测试方案
猜您喜欢 漫画 | 比特币中国就要被关停了,你还不知道区块链是什么? 前淘宝、兰亭高管:“为了摆脱中年危机我再次创业,造福1亿‘美国屌丝’” 一整套完整的前后端代码都将属于你! 【MySQL】101个MySQL的调节和优化技巧 元旦快乐!2016,我们来啦!