Intel X710网卡VxLAN offload性能测试

1.  测试环境参数:

交换机:盛科E580

服务器:

Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz  384G RAM

Intel 800G SSD, Intel X710 万兆网卡

宿主机OS:

RHEL 7.1: 

kernel: 3.10.0

Libvirt: 1.2.17

QEMU: 1.5.3

Open vSwitch: 2.5.0

Ubuntu 16.04:  

kernel:4.4.0

Libvirt: 1.3.1

QEMU: 2.0.0

Open vSwitch: 2.5.0

虚拟机:RHEL 7.1, 2 vCPUs, 4G RAM, 40G Disk

网卡驱动:i40e,version: 1.5.25

NVM: 4.41 0x80001866 16.5.10

2. 配置步骤:

2.1. 交换机配置:

初始化配置:

1.连接到盛科交换机,传输速率设为115200

2.查看交换机软件版本,show version

如果版本不对,将新版本拷贝到交换机;

设置新版本启动(参照盛科交换机配置文档)

3.如果盛科交换机有初始化配置,可以删除。

cd flash:

delete startup-config.config 然后重启。

注意:重启时不要将当前内存中的东西写进文件。

配置交换机ip:

no management ip address dhcp

management ip address 192.168.201.60 255.255.255.0

management route add gateway 192.168.201.254

exit

write memory

配置端口(交换机1口配置示例)

config terminal

interface eth-0-1

speed 10G

no shutdown

exit

write memory

另一个端口以同样命令配置

2.2. 主机配置:

通过IPMI安装RHEL 7.1镜像:

安装Open vSwitch,更新libvirt:

1.首先删除redhat原有的yum ,因为redhat 原本的yum 没有注册为redhat用户是用不了的。

rpm -aq|grep yum|xargs rpm -e --nodeps

2.下载163的yum 安装包

wget http://mirrors.163.com/centos/7.2.1511/os/x86_64/Packages/yum-3.4.3-132.el7.centos.0.1.noarch.rpm

wget http://mirrors.163.com/centos/7.2.1511/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm

wget http://mirrors.163.com/centos/7.2.1511/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

wget http://mirrors.163.com/centos/7.2.1511/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm

3.进行安装yum

rpm -ivh *.rpm

4.更新repo文件

mv /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/rhel-debuginfo.repo.repo.bak

如果没有这个文件就直接创建

sudo vim /etc/yum.repos.d/rhel-debuginfo.repo

在文件中写入

[base]

name=CentOS-$releasever - Base

baseurl=http://mirrors.163.com/centos/7.2.1511/os/$basearch/

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7

#released updates

[updates]

name=CentOS-$releasever - Updates

baseurl=http://mirrors.163.com/centos/7.2.1511/updates/$basearch/

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7

[extras]

name=CentOS-$releasever - Extras

baseurl=http://mirrors.163.com/centos/7.2.1511/extras//$basearch/

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7

[centosplus]

name=CentOS-$releasever - Plus

baseurl=http://mirrors.163.com/centos/7.2.1511/centosplus//$basearch/

gpgcheck=1

enabled=0

保存退出

5. yum clean all

6 .  yum update 测试。

7.  安装 epel 源

sudo yum install epel-release

sudo yum repolist检查是否安装成功

8.  更新openstack安装源

yum install https://rdoproject.org/repos/rdo-release.rpm

yum upgrade

9.  安装ovs相关包

yum install openvswitch

10.  如果有内核更新,重启服务器

安装网卡驱动:

最新版网卡驱动下载地址:

https://downloadcenter.intel.com/downloads/eula/24411/Intel-Network-Adapter-Driver-for-PCI-E-Intel-40-Gigabit-Ethernet-Network-Connections-under-Linux-?httpDown=https%3A%2F%2Fdownloadmirror.intel.com%2F24411%2Feng%2Fi40e-1.5.25.tar.gz

参考压缩包里的README文档安装:

生成rpm安装包:

rpmbuild -tb i40e-1.5.25.tar.gz

安装生成的rpm包:

yum localinstall ~/rpmbuild/RPMS/x86_64/i40e-1.5.25-1.x86_64.rpm

卸载掉当前的驱动,载入新的驱动:

rmmod i40e; modprobe i40e

升级initrd使系统重启时载入新的驱动:

dracut --force

验证安装:

lsmod | grep -i vxlan

若有i40e,说明驱动安装成功

通过IPMI安装ubuntu16.04

安装openvswitch:

apt-get install openvswitch-switch

安装KVM及相关依赖包

sudo apt-get install qemu-kvm

sudo apt-get install qemu

sudo apt-get install virt-manager

sudo apt-get install virt-viewer

sudo apt-get install libvirt-bin

sudo apt-get install bridge-utils

ubuntu安装网卡驱动方法:

解压包:tar zxf i40e-1.5.25.tar.gz

cd  i40e-1.5.25/src/

makeinstall

卸载掉当前的驱动,载入新的驱动:

rmmod i40e; modprobe i40e

升级initrd使系统重启时载入新的驱动:

update-initramfs -u

验证安装:

lsmod | grep -i vxlan

若有i40e,说明驱动安装成功

搭建网络环境

Host1 192.168.201.110 网络配置:

ovs-vsctl add-br br0

ovs-vsctl add-port br0 ens1f0

ovs-vsctl add-port br0 tep0 -- set interface tep0 type=internal

ip addr add 172.16.68.20/24 dev tep0

ip link set tep0 up

ovs-vsctl add-br br1

ovs-vsctl add-port br1 vx1 -- set interface vx1 type=vxlan  options:remote_ip=172.16.68.10 options:key=5000 options:dst_port=4789

ip link set vx1 up

Host2 192.168.201.111 网络配置:

ovs-vsctl add-br br0

ovs-vsctl add-port br0 ens1f0

ovs-vsctl add-port br0 tep0 -- set interface tep0 type=internal

ip addr add 172.16.68.10/24 dev tep0

ip link set tep0 up

ovs-vsctl add-br br1

ovs-vsctl add-port br1 vx1 -- set interface vx1 type=vxlan  options:remote_ip=172.16.68.20 options:key=5000 options:dst_port=4789

ip link set vx1 up

配置好以后ping172.16.68.20的地址验证是否互通

添加新的vtep对的话就需要在br0上新建新的tep端口,新的br以及vx端口用来连接虚机和tep。新的tep不能和现有的tep在同一网段。

将网卡mtu改为1600:

ip link set ens1f0 mtu 1600

2.3. 虚机配置:

用virt-manager创建虚机时,虚机网卡接在br1的port br1上

给虚机网卡配置ip:

vm1:ifconfig eth0 10.0.1.100/24

vm2:ifconfig eth0 10.0.1.101/24

清除iptables配置

iptables -F

ping对方地址验证是否互通

2.4. 网络结构图

2.5. 测试参数配置:

iperf server端:

vm1: iperf3 -s

iperf client端:限定带宽512Mbps

vm2: iperf3 -c 10.0.1.100(vm1的ip地址) -b 512M -t 600

开启/关闭网卡vxlan offload:

ethtool -K ens1f0 rx-checksum on/off

ethtool -K ens1f0 tx-udp_tnl-segmentation on/off

3.  测试结果

 

 

Recv (CPU util%) ubuntu16.04

Send (CPU util%) rhel 7.1

 

VM pairs

us

sys

si

total

us

sys

si

total

No off

8

4.1

3.8

0.3

8.3

1.8

1.7

0.3

3.5

offload

 

1.9

0.4

0.2

2.6

0.5

1.5

0.3

2.3

No off

16

11.2

8.5

5.1

24.8

3.5

3.9

1

7.4

offload

 

6.3

4.6

4.6

16.4

1.8

3.1

1

5.9

No off

24

14.3

9.4

6.8

30.5

5.3

6.3

1.4

13

offload

 

10.9

6.7

6

23.6

2.9

4.8

1.3

9

No off

32

16.3

10.5

8.7

35.5

9.5

10.6

2

22.1

offload

 

14.2

8.5

8.1

30.8

6

7.6

1.9

15.5

No off

40

21.5

17.9

11.6

51

13.3

14.9

6.8

35

offload

 

19.5

14.3

10.9

44.7

10.8

10.3

6.6

27.7

No off

44

35.3

30.1

17.5

82.9

17.1

19.8

7.9

44.8

offload

 

30.1

29.6

17.5

77.2

14.5

15.1

7.5

37.1

限速200M带宽对比图

   

Host1                                                                   Host2

上图为测试限制带宽在200Mbits/sec, 在增加到40对虚机之后出现性能拐点,从数据看出offloading开启大概提升7%-60%左右的性能。流量越小提升的效果越明显,随着开启虚机对数越多流量越大,开启offloading提升的效果越小。开启offloading在45个并发,关闭offloading在42个并发。

 

VM pairs

Recv (CPU util%) ubuntu16.04

Send (CPU util%) rhel 7.1

No off

8

4.6

3.3

3.1

7.9

3.3

3.1

0.4

6.3

offload

 

2.5

2.2

3

4.7

1.5

2.1

0.6

3.6

No off

16

14

9

6.3

29.3

7.5

9.9

2

19.4

offload

 

11

6

6.1

23.1

5

8

2.1

15.1

No off

24

35

31

22.5

88.5

14.8

19.9

5

39.7

offload

 

30

28

20.4

78.4

13.1

16.2

3

32.3

限速512M带宽对比图

  

Host1                                            Host2

上图为限速512Mbits/sec,增加到24对虚机host1 cpu利用率88.5%,host2为39.7,从数据看开启offloading 提升11 -40%的空间,流量越大提升效果越小。不开启offloading可以20个并发,开启offloading可以24个并发。

Intel X710网卡VxLAN offload 性能测试的更多相关文章

  1. [development][dpdk][pktgen] 网卡收发包性能测试

    一: 多队列及中断信息收集 [root@T185 ~]# ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: RX Mini ...

  2. [网络技术][转]网卡的offload概念

    网络数据包分析 网卡Offload 对于网络安全来说,网络传输数据包的捕获和分析是个基础工作,绿盟科技研究员在日常工作中,经常会捕获到一些大小远大于MTU值的数据包,经过分析这些大包的特性,发现和网卡 ...

  3. intel 82599网卡(ixgbe系列)术语表

    Intel® 82599 10 GbE Controller Datasheet 15.0 Glossary and Acronyms 术语表 缩写 英文解释 中文解释 1 KB A value of ...

  4. 2008server安装Intel I217V网卡驱动

    问题:由于在职的是小公司,公司服务器都是DIY的,拒绝采购品牌服务器,所以配件都是自己DIY的,这样就会出现很多兼容性问题,例如服务器主板是AUS B85-PRO-Gamer,装的是服务器系统wind ...

  5. intel的网卡故障

    现象: 机器键盘接入,敲入无反应:机器无法ping通,整台机器假死状态. 查看message的日志,日志为如下内容: Aug :: TSMIS-CF kernel: ::19.0: eth0: Det ...

  6. Intel 82599网卡异常挂死原因

    前提背景: 生产环境上,服务器网络突然断链,ssh连接失败. 问题初步定位: 查找内核日志,得到网卡异常信息 Jan 24 11:52:43 localhost kernel: ixgbe 0000: ...

  7. [development][dpdk][pktgen] 网卡收发包性能测试-详细数据

    三层包测试 发包方式:192.168.20.205 发包工具:pktgen 发包网卡:i350 收包设备:1922.168.20.185 CPU:Intel(R) Xeon(R) CPU E5-262 ...

  8. imx6q 添加intel PCIE网卡

    TQ_IMX6Q开发板移植rtl8168-PCIE转千兆网卡 一.配置内核选项PCIE总线驱动支持 默认的内核配置可能没有把PCIE的总线驱动编入内核,所以需要确认是否把驱动编译到了内核里面. 配置好 ...

  9. VMware ESXi 7.0 U2 SLIC 2.6 & Unlocker 集成 Intel NUC 网卡、USB 网卡和 NVMe 驱动

    ESXi 7 U2 标准版镜像集成 NUC 网卡.USB 网卡 和 NVMe 驱动. 请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u2-nuc-usb-n ...

随机推荐

  1. 十二月总结-and-2016年终总结

    回顾 今天是2016的最后一天了,所以今天来做一个年终总结是最好不过的了.各种期末考试随着而来,也就意味着在工大的第一个学期马上结束了.回顾一下这一年所获得或者失去的一些东西: 2月份在家焦虑的等待着 ...

  2. 微信小程序页面-页面跳转失败WAService.js:3 navigateTo:fail url not in app.json

    微信小程序新建页面的要素一是新建的文件名称和其子文件的名称最好一致,不然容易出问题,在小程序页面跳转中如果出现WAService.js:3 navigateTo:fail url not in app ...

  3. 判断浏览器增加标签 encodeURIComponent

    var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; var lx; (s = ua.match(/msie ([\d.]+ ...

  4. 转 如何使用V7包中ActionBar(Eclipse版)

    http://blog.csdn.net/appte/article/details/11712591 以前3.0以前的版本要使用ActionBar,必须使用国外大牛写的ActionBarSherlo ...

  5. xshell 图形化连接ubuntu

    原文: http://jingyan.baidu.com/article/d45ad148967fcd69552b80f6.html Xmanager4系列软件是一套非常好的liunx远程操作,尤其是 ...

  6. [jQueryUI] – Chosen:select下拉选择框美化插件及问题

    Chosen 是一个支持jquery的select下拉框美化插件,它能让丑陋的.很长的select选择框变的更好看.更方便.不仅如此,它更扩展了select,增加了自动筛选的功能.它可对列表进行分组, ...

  7. ReactiveCocoa Weak-Strong Dance

    AC在应用中大量使用了block,由于Objective-C语言的内存管理是基于引用计数的,为了避免循环引用问题,在block中如果要引用self,需要使用@weakify(self)和@strong ...

  8. HRBUST 1909 理工门外的树(双数组实现线段树功能)

    线段树固然可以做,但是在考虑线段树之前应该先考虑一下,这种用两个数组来解决问题的方法能不能行,如果行的话,就会为我们省很多时间,毕竟线段树代码量比较大 #include<iostream> ...

  9. 【WiFi密码破解详细图文教程】ZOL仅此一份 详细介绍从CDlinux U盘启动到设置扫描破解-破解软件论坛-ZOL中关村在线

    body { font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-ser ...

  10. Qt5:无边框窗口拖动

    在窗口程序中,无边框窗口程序一般需要特殊处理才能拖动 Qt中,要实现无边框窗口的拖动,需要重新实现 mousePressEvent 和 mouseMoveEvent 俩虚函数 void Widget: ...