Intel X710网卡VxLAN offload 性能测试
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. 如果有内核更新,重启服务器
安装网卡驱动:
最新版网卡驱动下载地址:
参考压缩包里的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 性能测试的更多相关文章
- [development][dpdk][pktgen] 网卡收发包性能测试
一: 多队列及中断信息收集 [root@T185 ~]# ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: RX Mini ...
- [网络技术][转]网卡的offload概念
网络数据包分析 网卡Offload 对于网络安全来说,网络传输数据包的捕获和分析是个基础工作,绿盟科技研究员在日常工作中,经常会捕获到一些大小远大于MTU值的数据包,经过分析这些大包的特性,发现和网卡 ...
- intel 82599网卡(ixgbe系列)术语表
Intel® 82599 10 GbE Controller Datasheet 15.0 Glossary and Acronyms 术语表 缩写 英文解释 中文解释 1 KB A value of ...
- 2008server安装Intel I217V网卡驱动
问题:由于在职的是小公司,公司服务器都是DIY的,拒绝采购品牌服务器,所以配件都是自己DIY的,这样就会出现很多兼容性问题,例如服务器主板是AUS B85-PRO-Gamer,装的是服务器系统wind ...
- intel的网卡故障
现象: 机器键盘接入,敲入无反应:机器无法ping通,整台机器假死状态. 查看message的日志,日志为如下内容: Aug :: TSMIS-CF kernel: ::19.0: eth0: Det ...
- Intel 82599网卡异常挂死原因
前提背景: 生产环境上,服务器网络突然断链,ssh连接失败. 问题初步定位: 查找内核日志,得到网卡异常信息 Jan 24 11:52:43 localhost kernel: ixgbe 0000: ...
- [development][dpdk][pktgen] 网卡收发包性能测试-详细数据
三层包测试 发包方式:192.168.20.205 发包工具:pktgen 发包网卡:i350 收包设备:1922.168.20.185 CPU:Intel(R) Xeon(R) CPU E5-262 ...
- imx6q 添加intel PCIE网卡
TQ_IMX6Q开发板移植rtl8168-PCIE转千兆网卡 一.配置内核选项PCIE总线驱动支持 默认的内核配置可能没有把PCIE的总线驱动编入内核,所以需要确认是否把驱动编译到了内核里面. 配置好 ...
- 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 ...
随机推荐
- java监控函数执行时间
java监控函数执行时间 http://blog.csdn.net/ycg01/article/details/1467542 java监控函数执行时间 标签: javathreadclassstri ...
- 简单的js实现网页时钟
js实现时钟. <div id="clock"></div> <script type="text/javascript"> ...
- 利用hibernate实现oracle(每张表的ID)自动增长
设置ID的增长策略是sequence,同时指定sequence的名字,最好每个表建一个sequence 例如创建一个序列:CREATE SEQUENCE DEPARTMENT_ID_SEQ MINVA ...
- (转)Eclipse中使用Ant
Eclipse中使用Ant 分类: JAVA 工具 服务器2014-08-05 09:59 5507人阅读 评论(0) 收藏 举报 anteclipse http://286.iteye.com/bl ...
- map遍历的四种方式
原文 http://blog.csdn.net/dayanxuqun/article/details/26348277 以下是map遍历的四种方式: // 一.推荐只用value的时候用,都懂的... ...
- HDU 5170 GTY's math problem
数学题,a的b次方和c的d次方都很大,直接判断是做不出来的. 如果我们能找到一个函数F(x)是单调的,而F(X)的值又比较好算,那么可以通过比较F(X)的大小来判断自变量的大小. 令F(X)=log( ...
- CSS中margin和position:relative的定位问题
一.代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- Java之Property类使用
http://blog.csdn.net/hopestar2/article/details/6372883 在项目中经常用到各种配置文件,有.properties的,也有.xml格式的 都可以通过j ...
- 利用dokan作虚拟磁盘开发
dokan是用户态的文件系统驱动,可以称之为fuse for windows.可以用来开发虚拟磁盘,即在“我的电脑”中虚拟出一个硬盘来,可以是硬盘,也可以是可移动磁盘或者网络硬盘. CreateFil ...
- ural2014 Zhenya moves from parents
Zhenya moves from parents Time limit: 1.0 secondMemory limit: 64 MB Zhenya moved from his parents’ h ...