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

相关文章

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

Java慢查询排查与性能调优完整实战指南

《Java慢查询排查与性能调优完整实战指南》Java调优是一个广泛的话题,它涵盖了代码优化、内存管理、并发处理等多个方面,:本文主要介绍Java慢查询排查与性能调优的相关资料,文中通过代码介绍的非... 目录1. 事故全景:从告警到定位1.1 事故时间线1.2 关键指标异常1.3 排查工具链2. 深度剖析:

深入解析Java NIO在高并发场景下的性能优化实践指南

《深入解析JavaNIO在高并发场景下的性能优化实践指南》随着互联网业务不断演进,对高并发、低延时网络服务的需求日益增长,本文将深入解析JavaNIO在高并发场景下的性能优化方法,希望对大家有所帮助... 目录简介一、技术背景与应用场景二、核心原理深入分析2.1 Selector多路复用2.2 Buffer

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤