现在的位置: 首页 > 综合 > 正文

Neutron Provider Network Performance Baisc Test

2013年01月05日 ⁄ 综合 ⁄ 共 2166字 ⁄ 字号 评论关闭

最近对Neutron Provider Network的性能简单测试了一下,并与nova-network进行了对比。

测试环境如下:

1. 1台 all in one, 1台计算节点,使用neutron provider network模式。

2. Openstack 为havana版本,使用RDO的安装包。

3. Host OS 为CentOS6.3 cisco harden版本,硬件是UCS 240,网卡为1Gbit/s。

4. 虚机机使用默认的large flavor,安装CentOS6.3 cisco harden 版本。

测试了以下情形:

VM在相同Host上,Security Group打开时,虚机之间网络拓扑大致如下:

测试结果如下, TCP throughput为3.5Gbit/s左右:

# netperf -H 10.224.148.72 -t TCP_STREAM -l 60
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.224.148.72 () port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 60.00 3507.16

VM在相同Host上,Security Group关闭时,虚机之间网络拓扑大致如下:

测试结果如下, TCP throughput为3.36Gbit/s左右:

# netperf -H 10.224.148.72 -t TCP_STREAM -l 60
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.224.148.72 () port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 60.00 3361.67

让我惊讶的是性能竟然降低了,我check了代码,发现nova的vid有以下3种情况:

防火墙打开时,就是我测试的第一种情况。

防火墙关闭,libvirt版本小于0.9.11就是我测试的第二种情况。

libvirt版本大于等于0.9.11时,libvirt直接支持openvswitch port。

我们使用的是CentOS6.3默认repo中的libvirt版本是0.9.10,因此更新了一下libvirt到0.10.2版本再次实验,拓扑如下:

测试结果如下, TCP throughput为4.85Gbit/s左右:

# netperf -H 10.224.148.72 -l 60
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.224.148.72 () port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 60.00 4854.45

在nova-network环境中做同样的实验,TCP throughput为4.34Gbit/s左右,结果如下:

# netperf -H 192.168.72.4 -l 60
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.72.4 () port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 60.00 4342.10

虚机在不同host上时,在各种情况下基本都能达到0.8-0.9Gbit/s,物理网卡流量是其瓶颈。

总结如下:

1. TCP throughput: Neutron Provider Network(SG off) > Nova-network > Neutron Provider Network(SG on)。

2. 升级libvirt版本到0.9.11以上。

3. 需要确认产线上是否需要SG,如果不需要的话可以关掉。

4. 物理网卡是不同host上虚机通信的瓶颈。

TO DO:

1. Performance和物理CPU消耗的关系。

2. GongYongSheng和一位外国朋友测试的结果与我的有出入,在使用openvswitch port的时候他们测试结果的性能要远好于我的,需要再deep dive一下看看我哪里有问题,他们测试结果如下:

抱歉!评论已关闭.