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. aspx基础开始

    <%@ Page Language="C#" Debug="true" trace="false" validateRequest=& ...

  2. Apache2.4 137行 httpd-ahssl.conf

    C:\Users\Administrator>E:\PHP\Apache24\bin\httpd.exe -w -n "apache2.4" -k startAH00526: ...

  3. Oracle数据库设计小细节

    1. 如果使用PowerDesigner此类工具,注意将工具的导出的SQL语句中对于表的双引号去掉. 2. 建表和建字段的时候,不同单词之间使用下划线分隔,比如 REC_ID 3. Oracle中数值 ...

  4. java工程开发之图形化界面之(第二课)

    上一节主要是讨论小的应用程序,在这里我们将采用一种全新的方式来重新编写它. 在这里我们注重关注JFrame和JOptionPane.这些类提供了在JAVA应用程序使用图形的方法以及在JAVA程序中对I ...

  5. spring,hibernate配置事务

    1. 新建java project 2. 引入jar 3. src下新建package:com.web.model, com.web.dao, com.web.service, bean.xml 4. ...

  6. mysql慢查询问题

    [问题现象] 使用sphinx支持倒排索引,但sphinx从mysql查询源数据的时候,查询的记录数才几万条,但查询的速度非常慢,大概要4~5分钟左右 [处理过程] 1)explain 首先怀疑索引没 ...

  7. jpda

    http://www.ibm.com/developerworks/cn/java/j-lo-jpda1/ 远程调试用rmi通信,被调试端需要启动一个调试服务器,用命令jsadebugd. java/ ...

  8. applicationContext.xml文件配置模板

    <?xml version="1.0" encoding="gb2312"?><!--  Spring配置文件的DTD定义-->< ...

  9. android UI中添加一张图片如何将这张图片中某一部分设为透明的

    可以利用canvas画布类,这个类的具体方法可以参看官方api.http://developer.android.com/reference/android/graphics/Canvas.html ...

  10. 1381: Munching(BFS)

    Description Bessie loves her grass and loves to hurry to the barn for her evening milking session. S ...