赞
踩
编译出pktgen工具,编译好的程序在目录samples/pktgen
lspci -s 02:00.0 -vvv
在执行过程2),结合方法4)和5)发现,一个逻辑CPU核被软中断耗尽
mpstat -P ALL -u 2
查看网卡是否支持多队列,运行命令:ethtool -l eth0
[root@localhost ~]# ethtool -l eth0
Channel parameters for eth0:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 2 # 这一行表示最多支持设置2个队列
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 1 #表示当前生效的是1个队列
[root@localhost ~]# ethtool -L eth0 combined 2 # 设置eth0当前使用2个队列
设置成功后,测试发现,网卡rx/tx队列分别分配了不同的硬中断,这些硬中断分别分配到了不同的逻辑CPU核上(在irqbalance起作用的情况下,由它根据其规则分配),同样也分配了不同的软中断,这些软中断也分配到了不同的逻辑CPU核上。
如果物理网卡不支持网卡多队列,就可以设置网卡的RPS来平衡软中断(针对收包过程)
通过设置/sys/class/net/enp2s0f0/queues/rx-0/rps_cpus
RPS方法是平衡一个rx queue的软中断到不同逻辑CPU上,多队列是rx/tx多个通路,分别管各种的中断,分散了负担
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。