登录 注册
您的位置:首页> 建站知识 > 做网站
网站建设全包:这个根据网卡型号和驱动版本的不同可能会发生变化
标签:做网站
发表日期:2018-11-05 06:18:39     文章编辑:admin     浏览次数:104

 网站建设全包:这个根据网卡型号和驱动版本的不同可能会发生变化

 

在高吞吐高负载的应用中,小文件对网卡和CPU的压力经常导致int偏高。针对Intel

多队列网卡,可以通过绑定队列到CPU中断的方式让中断分布平均化。

检查网卡是否是多队列网卡的办法如下。

    这个根据网卡型号和驱动版本的不同可能会发生变化。所以我们还可以从Linux层面

来检查。

cat

31:

32:

33:

34:

35:

36:

37:

38:

39:

/proc/interrupts I grep eth   :'

     1       0      0; ::  ' 0  PCI-MSI-edge    eth0

 496264 4285038723 183045979 4261001431  PCI-MSI-edge   ethO-rx-0

 616597 4286889728 181983908 4266611362 PCI-MSI-edge   ethO-rx-l

 637105  7676528 195087860 4176934847  PCI-MSI-edge   ethO-rx-2

 664370 4176592309 193372878 17962407 PCI-MSI-edge   ethO-rx-3

 2516359 2221308809 1586839592 2231100173  PCI-MSI-edge     ethO-tx-0

1385780 3204456867 173337759 3199154048  PCI-MSI-edge   ethO-tx-l

 2148360 2106264051 1707846633 2131107094   PCI-MSI-edge      ethO-tx-2

 2435577 2214043654 1571130355 2262530323  PCI-MSI-edge    ethO-tx-3这样就可以一目了然地看出来eth0网卡有4个队列了。

    默认情况下,Linux也会将中断散布在各个CPU上以提供更高的性能,但是同一个队列分为rxtx进出两个方向,被散布开之后,反而带来更大的CPU之间的数据交换,CPU级的cache效果降低,从而影响性能。所以更好的做法是,手动绑定每个队列的rx/tx到同一个CPU上。

    绑定中断到每个CPU核的脚本,最早是由Linux内核network子系统的开发者DavidMiller编写的,我们可以在Intel网卡驱动源码的scripts/目录下获得。目前Intel最新的ixgbe源码下载地址为:http://downloadmirror.intel.com/14687/eng/ixgbe- 3.14.5.targz

    脚本内容很简单,原理就是从上例提到的/proc/interrupts中取出中断的MASK,然后写入对应中断号的/proc/irq/$IRQ/smp_affinity文件,代码如下。

set_affinity ( )

   if [ $VEC -ge 32 ]

 then

MASK_FILL-''''

MASK_ZERO="OOOOOOOO"

       let 'IDX = $VEC / 32" :   :

    do

                             MASK  FILL="$ {MASK_FILL } , $ { MASK  ZERO } "

  done

 

留言预约
关于我们
易神州网络-专业的软件开发和品牌营销公司,提供互联网基础服务与数字营销产品解决方案专家,14年丰富的软件开发、品牌策划营销。擅长于系统化解决企业品牌在互联网上的统一性传播,企业品牌在互联网上的应用。我们协助您通过在线品牌的塑造,建立长久的企业品牌价值。
联系我们
400-611-0508
周一至周六9:00-18:00
全方位的营销咨询   精准的解决方案
地址:北京市丰台科技园汉威国际四区8号楼7层
关注公众号