可知有eth0 eth1 eth2 eth3四个网卡金沙网址

网卡中断不均衡处理,网卡中断

在数据量大的时候,硬中断和软中断会形成瓶颈。

网卡接收数据包,从网卡产生中断信号,CPU将网络数据包拷贝到内核,然后进行协议栈的处理,最后将数据部分传递给用户空间,但硬件中断处理仅仅做从网卡拷贝数据的工作,而协议栈的处理的工作就交给软中断处理。所以当硬中断和软中断集中在cpu0的时候,会给调度带来负担(集中在其他cpu也会造成性能瓶颈,这里举cpu0的例子,是因为集中在cpu0影响最大)。

       金沙网址 1

可知有eth0 eth1 eth2 eth3四个网卡

压测前

      金沙网址 2

压测后

      金沙网址 3

对比前后流量,可知用的是eth2

      金沙网址 4

                  可知中断号是72-80

2.绑定

echo 9 > /proc/irq/72/smp_affinity_list

echo 10 > /proc/irq/73/smp_affinity_list

echo 11 > /proc/irq/74/smp_affinity_list

echo 12 > /proc/irq/75/smp_affinity_list

echo 13 > /proc/irq/76/smp_affinity_list

echo 14 > /proc/irq/77/smp_affinity_list

echo 15> /proc/irq/78/smp_affinity_list

echo 16 > /proc/irq/79/smp_affinity_list

echo 17 > /proc/irq/80/smp_affinity_list

 

        
网卡中断号的绑定可以分散硬中断,不过这样还不够彻底,因为硬中断集中在上述配置的几个核上,且软中断在硬中断结束后工作,也在同一个核上,一个核同时跑硬中断和软中断,这样会大大降低硬中断和软中断的处理速度,会对性能造成极大的瓶颈,因为如果中断没处理完,就无法分发请求到haproxy的各进程。

可通过rps和rfs,将软中断均衡到各个核上。

echo ffffff > /sys/class/net/eth2/queues/rx-0/rps_cpus    
24核,所以设置fffff,分散到各核

echo ffffff > /sys/class/net/eth2/queues/rx-0/rps_cpus

echo ffffff > /sys/class/net/eth2/queues/rx-0/rps_cpus

echo ffffff > /sys/class/net/eth2/queues/rx-0/rps_cpus

echo ffffff > /sys/class/net/eth2/queues/rx-0/rps_cpus

echo ffffff > /sys/class/net/eth2/queues/rx-0/rps_cpus

echo ffffff > /sys/class/net/eth2/queues/rx-0/rps_cpus

echo ffffff > /sys/class/net/eth2/queues/rx-0/rps_cpus

echo ffffff > /sys/class/net/eth2/queues/rx-0/rps_cpus

 

echo 4096 > /sys/class/net/eth2/queues/rx-0/rps_flow_cnt   
32768/N,N为网卡多队列的队列数

echo 4096 > /sys/class/net/eth2/queues/rx-1/rps_flow_cnt

echo 4096 > /sys/class/net/eth2/queues/rx-2/rps_flow_cnt

echo 4096 > /sys/class/net/eth2/queues/rx-3/rps_flow_cnt

echo 4096 > /sys/class/net/eth2/queues/rx-4/rps_flow_cnt

echo 4096 > /sys/class/net/eth2/queues/rx-5/rps_flow_cnt

echo 4096 > /sys/class/net/eth2/queues/rx-6/rps_flow_cnt

echo 4096 > /sys/class/net/eth2/queues/rx-7/rps_flow_cnt

echo 32768 > /proc/sys/net/core/rps_sock_flow_entries

在数据量大的时候,硬中断和软中断会形成瓶颈。
网卡接收数据包,从网卡产生中断信号,CPU将网络数据…

相关文章