zoukankan      html  css  js  c++  java
  • [hardware][intel] intel全系列网卡调研

    除了公司用,我自己还要买一块家用。

    但是在这一切开始之前,还需要搞清楚PCIE到底咋回事。

    一, 总线

    https://zh.wikipedia.org/wiki/%E6%80%BB%E7%BA%BF

    二,PCI

    https://zh.wikipedia.org/wiki/%E5%A4%96%E8%AE%BE%E7%BB%84%E4%BB%B6%E4%BA%92%E8%BF%9E%E6%A0%87%E5%87%86

    三,PCI Express

    https://zh.wikipedia.org/wiki/PCI_Express

    四, PCI 插槽外观

    PCI插槽

    五, PCI-E 插槽外观

    PCI-E插槽

    高清大图:

     

    六,卡和插槽之间相互怎么插?

    PCIe卡能使用在至少与之传输通道相当的插槽上(例如x1接口的卡也能工作在x4或x16的插槽上)。一个支持较多传输通道的插槽可以创建较少的传输通道(例如8个通道的插槽能支持1个通道)。PCIe设备之间的链接将使用两设备中较少通道数的作为标准。一个支持较多通道的设备不能在支持较少通道的插槽上正常工作,例如x4接口的卡不能在x1的插槽上正常工作(插不入),但它能在x4的插槽上只创建1个传输通道(x1)。

    也就是说,倍数低的卡,可以插入倍数高的插槽。反之不行,因为不够长。

    七,除此之后,还有版本划分 PCIe2.0 PCIe3.0 PCIe4.0 详见wiki

    八,以太网服务器适配器

    http://www.intel.cn/content/www/cn/zh/ethernet-products/gigabit-server-adapters/overview.html

    九,以太网网络适配器

    http://www.intel.cn/content/www/cn/zh/ethernet-products/converged-network-adapters/overview.html

    十,技术手册

      英特尔® Ethernet Flow Director 和 Memcached 性能

      详细介绍了 RSS(Receive Side Scaling)/ Flow Director

      RPS: linux中 RSS的软件实现  

      https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/network-rps.html

      RFS: linux中 Flow Director的软件实现

      https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/network-rfs.html

      https://lwn.net/Articles/382428/

      RFS 还可以配合 taskset,numactl一同使用。

      http://linuxcommand.org/man_pages/taskset1.html

      

    十一,产品指南

      英特尔® 以太网网络适配器产品指南

    十二,型号选择向导

      http://www.intel.cn/content/www/cn/zh/ethernet-products/gigabit-server-adapters/gbe-server-selection-guide.html

    十三,详细参数,可以单独查看每一个型号的datasheet

      如 40Gb的XL710网卡: https://www.intel.com/content/www/us/en/ethernet-products/converged-network-adapters/ethernet-xl710-brief.html 

    十四,查看

      lspci -vvv -s 03:00.0

      查看多队列:

    [root@T185 ~]# lspci -vvv -s 03:00.0 |grep MSI-X
            Capabilities: [70] MSI-X: Enable+ Count=64 Masked-

      根据PCI设备号,查看对应的网卡名称:

    [root@T185 ~]# ll /sys/bus/pci/devices/0000:03:00.0/net/
    total 0
    drwxr-xr-x. 5 root root 0 May 25 19:57 eth0
    [root@T185 ~]# 

      根据网卡名称,查看对应的PCI设备号:

    [root@T185 ~]# ll /sys/class/net/eth0/device/driver/
    total 0
    lrwxrwxrwx. 1 root root    0 May 26 15:46 0000:03:00.0 -> ../../../../devices/pci0000:00/0000:00:02.2/0000:03:00.0
    --w-------. 1 root root 4096 May 26 15:46 bind
    lrwxrwxrwx. 1 root root    0 May 26 15:46 module -> ../../../../module/ixgbe
    --w-------. 1 root root 4096 May 26 15:46 new_id
    --w-------. 1 root root 4096 May 26 15:46 remove_id
    --w-------. 1 root root 4096 May 26 15:46 uevent
    --w-------. 1 root root 4096 May 25 19:58 unbind
    [root@T185 ~]# 

      如何查看及配置 RSS

      很奇怪,这个并不好用:

      https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/network-rss.html

      https://www.kernel.org/doc/Documentation/networking/scaling.txt

      http://man7.org/linux/man-pages/man8/ethtool.8.html

    I350 的卡可以查看:

    root@zw:~# ll /sys/class/net/eth0/device
    lrwxrwxrwx 1 root root 0 May 24 19:08 /sys/class/net/eth0/device -> ../../../0000:03:00.0/
    root@zw:~# lspci -s 0000:03:00.0
    03:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
    root@zw:~# ethtool --show-rxfh-indir eth0
    RX flow hash indirection table for eth0 with 8 RX ring(s):
        0:      0     0     0     0     0     0     0     0
        8:      0     0     0     0     0     0     0     0
       16:      1     1     1     1     1     1     1     1
       24:      1     1     1     1     1     1     1     1
       32:      2     2     2     2     2     2     2     2
       40:      2     2     2     2     2     2     2     2
       48:      3     3     3     3     3     3     3     3
       56:      3     3     3     3     3     3     3     3
       64:      4     4     4     4     4     4     4     4
       72:      4     4     4     4     4     4     4     4
       80:      5     5     5     5     5     5     5     5
       88:      5     5     5     5     5     5     5     5
       96:      6     6     6     6     6     6     6     6
      104:      6     6     6     6     6     6     6     6
      112:      7     7     7     7     7     7     7     7
      120:      7     7     7     7     7     7     7     7
    root@zw:~# 

      82599说不支持,不知为何

    [root@T185 ~]# ethtool --show-rxfh eth0
    Cannot get RX flow hash indirection table size: Operation not supported
    [root@T185 ~]# 

    十五, 粗略的看了一下,主要关心的点是  1 MULIT QUEUE。 2 RSS

      初步选定两块,万兆82599,千兆82576, i350好像也是可以的。 25G,40G 自然是高端型号,XL710

  • 相关阅读:
    How to use my view helpers in my ActionMailer views?
    大败笔,状态机
    把程序进行上线部署调试了,
    支付接口心得
    rails3 正则路由
    linux下配置Mysql远程访问,不受ip限制
    ActionController::InvalidAuthenticityToken解决办法
    支付宝接口错误
    DHTML 中的绝对定位
    部署备份
  • 原文地址:https://www.cnblogs.com/hugetong/p/6900720.html
Copyright © 2011-2022 走看看