[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

 

posted on 2017-05-25 18:58  toong  阅读(1076)  评论(0编辑  收藏  举报