SDN控制器测试专题五:Floodlight性能测试报告(上)

2023-11-08 21:18

本文主要是介绍SDN控制器测试专题五:Floodlight性能测试报告(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       上一篇重点介绍了《SDN控制器测试专题四:Floodlight南向接口测试报告()》,给出了控制器的功能测试结果。本篇将根据确定的性能测试项,对floodlight控制器性进行逐项测试验证,并会给出测试结果。

测试目的

验证floodlight v1.0控制器的以下几个性能情况:

 ■验证控制器支交换机上线的最大规模;

 ■验证控制器支持的交换机上线的最佳数量;

 ■验证控制器流表下发的速度;

 ■验证控制器流表下发时延;

 ■验证控制支持的最大流表数量;

 ■验证控制器mac地址的学习速度;

 ■验证控制器在大规模交换机上线情况下的网络拓扑更新速度;

性能测试的必要性

        控制器负责整个SDN网络的集中化控制,肩负着掌控全网视图,改善全网资源的重要作用。但由于控制能力的集中化,也就意味着控制器很容易成为未来全网的性能瓶颈。为了防患于未然,进行控制器性能测试,全面了解控制器产品的性能状况,提供可靠的性能指标,显得尤为重要。

性能瓶颈分析

       SDN控制器通过南向网络控制器技术对整个网络中的设备进行了集中化的管控与调度。包括链路发现,拓扑管理,策略制定和表项下发。

3.1 SDN控制器的工作流程

SDN控制器的工作流程如下:


1)控制器与交换机建立ofchannel通道,控制器通过ofchannel控制和管理交换机。

 2)当交换机收到一个数据包且流表中没有匹配条目,交换机会将数据包封装在packet_in消息发送给控制器,此时数据包会缓存在交换机中等待处理。

 3)控制器收到packet_in消息后,可以发送flow_mod消息向交换机写一个流表项,并且将flow_mod消息中buffer_id字段设置为packet_in消息中的buffer_id值。从而控制器向交换机写入了一条与数据包相关的流表项,并且指定该数据包按照该流表项的action列表处理。但是并不是所有的数据包都需要向交换机中添加一条流表项来匹配处理,网络中还存在多种数据包,它出现的数量很少(如ARP,IGMP等),以至于没有必要通过流表项来指定这一类数据包的处理法,此时控制器可以使用packet_out消息,告诉交换机某一个数据包如何处理。

3.2 性能瓶颈分析

    通过分析sdn网络的工作流程,可知控制器通过响应packet_in消息发送packet_out/flow_mod消息的速度是非常重要的,它的快慢直接影响了控制器拓扑发现,流表下发,mac地址学习能力,甚至整个网络的性能。而且SDN网络中通常采用反应式流安装,控制器的响应时间直接影响着流安装的处理速度,本文将重点测试在负载不同的情况下控制器处理packet_in消息的吞吐量和响应时间。同时也关注控制器支持创建openflow连接的能力与拓扑更新的速度。

测试环境硬件配置

测试执行

5.1 验证控制器支交换机上线的最大规模

5.1.1 测试目的

验证控制器所能接入交换机的最大数量。

5.1.2 测试拓扑





本测试项目未完,后续测试结果可点此查看原文



这篇关于SDN控制器测试专题五:Floodlight性能测试报告(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/372571

相关文章

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义