RFC8204:Benchmarking Virtual Switches in the Open Platform for NFV (OPNFV)(NFV开放平台虚拟交换机基准测试)是2017年9月IETF发布的关于NFV开放平台项目对虚拟交换机性能基准测试的备忘录。它描述了基于通用硬件实现的虚拟交换机进行基线性能测试的一些注意事项,并对测试方法做了扩展,以支持“电信”基础设施的虚拟化。
随着NFV(网络功能虚拟化)被广泛关注,虚拟交换机技术快速发展成为了NFV基础设施的一个重要方面,为物理网络功能和虚拟网络功能提供连接。如何设计和实现虚拟交换机的基准测试方法,却一直缺少相关的规范。该备忘录针对虚拟交换机基准测试的关键指标及测试方法进行了深入的探讨。
本文将从测试前的考虑因素、关键测试指标、测试拓扑等方面解读RFC8204,并对虚拟交换机的基准测试方法进行探讨:
1. 虚拟交换机基准测试前的考虑因素
1.1 测试方法因素
虚拟交换机基准测试应考虑与物理交换机保持相同的方法,并且采用黑盒测试的方式,从外部观察虚拟交换机的各项性能表现。
1.2 测试结果因素
测试应考虑结果的一致性和可重复性。相较于物理交换机,虚拟交换机的实现方式和部署方式更加灵活,影响测试结果一致性和可重复性的因素会非常多。测试前,有必要对虚拟交换机的软、硬件环境的参数信息做记录。
软件参数信息包括:
操作系统及内核的版本、运行级别、GRUB引导参数
Hypervisor类型及版本
虚拟交换机型号、版本、启动命令、内存分配
NUMA节点及内存通道数
DPDK或其他软件的版本号
虚拟机数量、存储类型、内存分配方式(Hugepages或其他方式)
虚拟网卡的数量、版本、类型、驱动程序、中断配置
宿主机的虚拟CPU数量及核数
资源隔离的详细信息,如为宿主机、内核、特定进程指定的CPU
硬件参数信息包括:
BIOS版本、发布日期、和任何已修改的配置
物理CPU数量、型号
内存大小、类型、DIMM配置,频率
物理网卡数量、制造商、版本、类型、中断配置
1.3 测试流量因素
虚拟交换机通过处理和匹配特定的数据帧头信息,将数据包分组到流队列中。性能结果可能因虚拟交换机用于匹配测试流量的参数而异。测试流量的设计应考虑以下因素:
测试流量持续时间
测试流量的数量
测试流量的分类(根据源MAC地址、目的MAC地址、源IP地址、目的IP地址、源端口号、目的端口号等进行分类,因为测试结果可能因为不同的流量分类而产生差异)
数据帧的大小,固定帧或是IMIX混合帧
测试流量经过的路径
2. 虚拟交换机基准性能测试关键指标
虚拟交换机的吞吐量和时延测试仍然是基准测试中的最重要的指标。因此,RFC2544和RFC2889规范中的测试方法应该被继续使用。除此之外,测试还参考了新的规范如RFC6201(感兴趣的读者可以查看相关文章:RFC解读(2):RFC 2544 的重大更新 - RFC 6201 设备重置性能(一))、RFC5481等。总结下来,虚拟机基准性能测试应重点关注以下指标:
吞吐量
固定长度数据帧的延迟分布
不同大小数据帧的最大,最小,平均延迟
可伸缩性(测量虚拟交换机在流数量、有效端口数量、转发逻辑的配置复杂程度不断增加时的性能变化)
TCP、UDP流性能
初始数据包延迟(测量虚拟交换机控制路径和转发路径的耦合对转发性能的影响)
CPU和内存利用率(测量虚拟交换机进行上述测试时的CPU利用率、缓存利用率及内存占用情况)
稳定性(测量虚拟交换机在连续较长时间情况下的稳定性)
邻居噪声干扰(测量共享资源对虚拟交换机性能的影响)
TCP的请求、响应性能
上述指标的测试方法并未在备忘录中进行描述。这里对以下指标的测试方法做了进一步探讨。
2.1 固定长度数据帧的延迟分布
延迟分布指标可以反映虚拟交换机转发性能是否稳定。本文对该指标的测试方法理解为:测试流量设置为固定字节,使用Spirent Testcenter测试仪表的Histogram流量分析功能,并选择Latency模式,统计接收报文的时延分布,如果大部分报文的延迟都分布在平均延迟附近,则说明待测设备的转发性能较为稳定
2.2 TCP请求、响应性
备忘录提出了测试通过虚拟交换机的事务处理速率(即transaction rate)。事务处理速率是L4-7层网络设备的性能指标。思博伦Avalanche仪表可以很好地针对这一指标进行测试,具体的测试方法可以参考公众号文章:第38期 Avalanche - 教你如何提升Avalanche的性能
2.3 TCP、UDP流性能
本文对该性能测试方法的理解有以下两种:
1) 基于TCP、UDP流量的吞吐量测试(即Throughput),测试方法可以参考RFC2544。公众号相关文章有:Spirent TestCenter - RFC2544 Throughput 测试参数详解
2) 应用层吞吐量测试(即Goodput),测试方法可以参考RFC3511。公众号相关文章有:第49期 Avalanche-HTTP双向吞吐量测试
2.4 初始数据包延迟
遗憾的是备忘录没有对该指标的测试方法进行说明。测试流量的初始报文到达待测交换机后,会触发地址学习和ARP等交换机控制层面的处理,所消耗的时间对转发性能产生影响。测量初始数据包的延迟时间,可以参考以下步骤:
1) 初始化待测虚拟交换机
2) Spirent Testcenter物理仪表发送少量固定数目的报文
3) 查看并记录测试仪表接收到的报文的最大延迟
4) 重复步骤1),2),3)并将多次测试的最大延迟取平均值
为了便于理解,RFC8204将虚拟交换机的基准性能测试指标分为4个大类:速率性能测试指标、扩展性测试指标、可靠性测试指标和准确性测试指标。下表是虚拟交换机各项测试指标和类别的对应关系:
3. 虚拟交换机基准性能测试拓扑场景
基于虚拟交换机在网络中可灵活部署的特性,对其进行基准测试时也应该充分考虑多种部署场景下的性能表现。备忘录建议的测试场景有以下几种:
3.1 测试流量从宿主机物理端口进入,经过虚拟交换机转发回到宿主机的物理端口输出
3.2 测试流量从宿主机的物理端口进入,经虚拟交换机转发至VNF处理,而后再次通过虚拟交换机回到宿主机的物理端口
3.3 测试流量从宿主机的物理端口进入,经虚拟交换机转发至VNF1,而后再次经虚拟交换机转发至VNF2,最后回到宿主机的物理端口
3.4 测试流量从宿主机的物理端口进入,经虚拟交换机转发至VNF终结。该场景需要VNF具备测试流量接收及统计功能
3.5 测试流量从VNF发出,经虚拟交换机转发至宿主机的物理端口输出。该场景需要VNF具备测试流量发送及统计功能
3.6 测试流量从VNF1发出,经虚拟交换机转发至VNF2。该场景需要VNF具备测试流量收、发及统计功能
以上就是本系列对RFC8204 NFV开放平台虚拟交换机基准性能测试的解读,希望对大家有所帮助。谢谢~
关键词:vSwitch,虚拟化,RFC测试规范,RFC2544,RFC8204,RFC2889,数据平面,吞吐量,时延,基准性能,测试方法,测试拓扑
推荐阅读:
RFC解读(1):RFC 3511的更替 - RFC 9411网络安全设备性能基准测试方法
RFC解读(2):RFC 2544 的重大更新 - RFC 6201 设备重置性能(一)
RFC解读(3):RFC 2544 重大更新— RFC 6201 设备重置能力评估(二)
RFC解读(4):RFC 8455/8456 SDN控制器性能测试方法(一)
RFC解读(5):RFC 8455/8456 SDN控制器性能测试方法(二)
RFC解读(6):RFC 8455/8456 SDN控制器性能测试方法(三)
RFC解读(7):RFC7747 BGP数据平面收敛的基准测试方法
联系我们:
思博伦官方网站: www.spirent.cn
技术中心热线:400-810-9529
支持邮箱:support@spirent.com
售后网站:support.spirent.com
版权归思博伦通信科技(北京)有限公司所有,思博伦技术中心(SpirentServices)原创发布,转载请联系授权。
长按识别二维码,关注思博伦技术中心