使用实时测试的服务功能链优化的制作方法

文档序号:20275169发布日期:2020-04-03 19:33阅读:147来源:国知局
使用实时测试的服务功能链优化的制作方法

相关申请的交叉引用

本申请要求于2017年7月21日提交的、名称为“servicefunctionchainoptimizationusinglivetesting(使用实时测试的服务功能链优化)”的美国专利申请no.15/656,607的权益和优先权,该申请的整体通过引用结合于此。

本技术涉及虚拟网络环境中的服务链上的流的优化,并且更具体地,涉及用于克隆服务链并修改各种服务链参数以确定最佳服务链配置设置的方法。



背景技术:

网络功能虚拟化(nfv)技术结合软件定义网络(sdn)有望帮助转变当今的运营商网络。它将转变它们的部署和管理方式以及服务的交付方式。一些最终目标是使服务提供商能够降低成本、提高业务敏捷性并加快新服务的上市时间。

nfv和sdn技术的利用允许网络功能从底层硬件解耦,因此它们作为软件映像或逻辑模块在商用现有的和特制的硬件上运行。nfv通过使用虚拟化技术(计算机、网络和存储介质)来虚拟化网络功能以实现此目的。目的是通过仅在需要的时间和地点分配和使用实体和虚拟资源来减少对实体设备的依赖。通过这种方法,服务提供商可以通过将组件转移到公共实体基础设施并同时优化其使用来降低总体成本,从而通过根据需要部署新的应用和服务来更动态地响应不断变化的市场需求。网络功能的虚拟化通过允许更自动化和流线化的服务交付方法加快了新服务的上市时间。

附图说明

为了描述可以获得本公开的以上以及其他优点和特征的方式,将通过参考在附图中示出的其特定实施例来对以上简要描述的原理进行更具体的描述。将理解,这些附图仅描绘了本公开的示例性方面,因此不应被认为是对其范围的限制,本文的原理通过使用附图以附加特征和细节来描述和解释,其中:

图1示出了可以在其中实现本技术的一些方面的示例网络环境。

图2a和图2b概念性地示出了根据本技术的一些方面的服务链克隆和调整的示例。

图3示出了根据本技术的一些方面的用于克隆和改变生产服务链的各种可配置参数的示例过程的步骤。

图4示出了可以在其上实现本技术的一些方面的示例网络设备。

具体实施方式

以下阐述的具体实施方式旨在作为对本技术的各种配置的描述,而不意图表示可以实践本技术的唯一配置。附图被并入本文并且构成具体实施方式的一部分。具体实施方式包括特定细节,以提供对本技术的更透彻理解。然而,将清楚和明显的是,本技术不限于本文阐述的特定细节,并且可以在没有这些细节的情况下实践。在一些情况下,以框图形式示出了结构和组件以避免模糊本技术的概念。

概览:

在独立权利要求中阐述了本发明的各方面,并且在从属权利要求中阐述了一些附加特征。一个方面的特征可以单独地或与其他方面结合地应用于每个方面。

随着网络功能虚拟化(nfv)技术的激增,此前由硬件设备执行的许多网络功能现在通常由虚拟组件实现。一些网络在所谓的网络服务链(sc)或服务功能链(sfc)中实现有序虚拟组件链,以创建连接网络服务的有序序列,例如,防火墙、网络地址转换[nat]、入侵保护等。网络运营商可以使用此功能来建立连接服务的套件或目录,以使单个网络连接可以用于具有不同特征的许多服务。

服务链的优点之一是可以使建立虚拟网络连接的方式自动化,以处理连接服务的流量。例如,sdn控制器可以采用服务链,并根据流量的源、目的地或类型将其应用于不同的流量流。sfc功能可以使常规网络管理员在连接一系列实体设备以处理传入和传出的网络流量时的操作(其可能需要许多手动步骤)自动化。

由于不断增加的网络虚拟化和抽象化的趋势(例如,使用虚拟机和容器联网),诊断和优化流量流问题变得越来越困难。传统地,sfc环境中的流量流优化是艰巨的过程,涉及耗时的手动试错型工作来调整各个系统参数,并且需要跨域知识来预测更改如何可以影响流量流性能。

描述:

所公开技术的各方面通过提供用于自动识别和调整sfc组件参数的解决方案来解决手动识别和优化sfc性能瓶颈的问题。在一些方面,所公开技术的sfc优化解决方案包括要针对其进行流量流优化的所选sfc(即“生产sfc”或“生产链”)的复制或克隆。然后,可以在一个或多个sfc克隆上模拟生产链的流量流以识别和调整各个系统参数,例如,以确定模拟变化对流性能产生正面、负面、还是中性变化。例如,通过自动更新链容器、虚拟机、和/或虚拟交换机或其他路由设备(例如,“vswitches”)等的数据路径参数,被确定为正面影响流量流的模拟sfc配置可以被自动推送到各个生产链设备。替代地,在一些方面,可以在模拟sfc上重新引导生产链的流量流,从而有效地使其成为新的生产链。

如本文所使用的,服务链“设备”可以包括实体和/或虚拟设备。例如,服务链的数据路径可以包括与特定网络操作或服务功能关联的实体和虚拟设备的混合。此外,服务链或服务功能路径“参数”可以包括服务链和/或设备操作的任何可配置方面。例如,服务链参数可以涉及特定功能类型、软件版本、协议、或设备操作的任何其他方面。

如下面进一步详细讨论的,所公开的技术的方法可以包括用于以下操作的步骤:测量针对在生产服务链(sc)上引导的流量流的第一组性能度量,其中,生产sc包括一个或多个实体和/或虚拟设备;对生产sc进行克隆以产生克隆sc,其中,克隆sc包括至少一个与生产sc不同的可配置参数或设备;以及测量针对在克隆sc上引导的第二流量流的第二组性能度量。在一些方面,该方法可以进一步包括用于以下操作的步骤:例如,基于第一组性能度量和第二组性能度量,识别可能改善在生产sc上引导的流量流的流性能的针对生产sc的至少一个配置改变,以及自动调整生产sc以实现该配置改变。

图1示出了示例网络环境100的示图,其中,可以实现各种网络功能虚拟化(nfv)设备以形成服务链(sc)。结构112可以代表环境100的底层(即实体网络)。结构112包括脊(spine)交换机1-n(102a-n)(统称为“102”)和叶交换机1-n(104a-n)(统称为“104”)。叶交换机104可以驻留在结构112的边缘,并且可以代表实体网络边缘。叶交换机104可以是例如架顶式(“tor”)交换机、汇聚交换机、网关、入口和/或出口交换机、提供商边缘设备、和/或任何其他类型的路由或交换设备。

叶交换机104可以负责路由和/或桥接租户或端点分组并应用网络策略。脊交换机102可以在结构112内执行交换和路由。因此,结构112中的网络连接性可以从脊交换机102流向叶交换机104,反之亦然。

叶交换机104可以包括服务器1-4(106a-d)(统称为“106”)、管理程序1-3(108a-108c)(统称为“108”)、虚拟机(vm)1-4(110a-110d)(统称为“110”)。例如,叶交换机104可以对去往和来自服务器106的分组进行封装和解封装,以使得能够在整个环境100中进行通信。叶交换机104还可将其他具有网络功能的(一个或多个)设备或(一个或多个)网络(例如,防火墙、数据库、服务器等)连接到结构112。叶交换机104还可以为任何其他服务器、资源、端点、外部网络、vm、服务、租户、或工作负载提供对结构112的访问。

服务器106可以包括实现本技术的网络功能虚拟化(nfv)平台所必需的硬件和软件。可以使用管理程序108来实现nfv平台,以支持例如被实例化为vm110中的一个或多个和/或一个或多个网络容器(未示出)的各种虚拟网络设备。

如下面关于图2a和图2b更详细讨论的,可以通过连接到虚拟交换机(例如,vswitch)来形成包括各种虚拟网络设备类型(和配置)的服务链。

图2a概念性地示出了根据本技术的一些方面的服务链克隆的示例。具体地,图2a描绘了生产服务链(或“生产sc”)201以及生产sc的两个克隆,即第一克隆服务链(或“第一克隆sc”)203和第二克隆服务链(或“第二克隆sc”)205。

生产sc201被配置为提供和/或接收来自连接主机200a的流量。将遍历生产sc201的流顺序地提供给链中的每个设备或服务。如示例中所示,遍历生产sc201的流量流必须流经路由器(例如,qos路由器204a)、内联入侵防护系统(ips)206a、负载平衡器208a、以及服务器(例如,http服务器210a)。每个设备(204a、206a、208a和210a)经由虚拟交换机212a被通信地耦合,例如,虚拟交换机212a是利用数据平面开发套件(ovs-dpdk)实现openvswitch来实现的。

在不脱离本技术的情况下,生产sc201可以包括更多(或更少)数量的设备、和/或不同功能/类型的设备。此外,如下面进一步详细讨论的,每个设备的各种设置以及服务链的任何数据路径参数可以根据期望的实现方式而变化。

在操作中,生产sc201代表例如在虚拟网络环境(例如,网络数据中心(dc))中实现的功能服务链。在一些实现方式中,例如通过实例化以基本相同的方式组织和配置的相似(或相同)的设备来克隆(复制)生产sc。通过复制生产sc,可以对某设备和/或数据路径参数进行更改,以便测量由于参数更改而对克隆链的流量流性能产生的总体影响。这样,可以使用多种不同的sc配置来测试最佳数据路径参数,而无需干扰生产sc正在处理的流。被确定为提高克隆sc中的流性能的配置更改可以实现在原始生产服务链中,或者可以在新实例化(克隆)的sc上重新引导流量流,从而有效地将其指定为新的“生产sc”。

继续图2a中所示的示例,生产sc201被克隆以产生第一克隆sc203和第二克隆sc205,其分别耦合到主机设备200b和200c。第一克隆sc203和第二克隆sc205代表与生产链201基本相似但具有特定配置变化的服务链。例如,第一克隆sc203包含具有与生产sc201类似的关联设备配置的设备。也就是说,第一克隆sc203包含qos路由器204b、内联ips206b、负载平衡器208b和服务器210b。然而,第一克隆sc203是使用不同的虚拟交换机实现的,即使用向量分组处理(vpp)而不是ovs-dpdk。

类似地,第二克隆sc205包含一系列相似的设备(例如,204c、206c和208c),以及类似于生产sc201(ovs-dpdk)的虚拟交换机212c。然而,第二克隆sc205包括使用与生产sc201不同的压缩协议(即“deflate”)的http服务器216。

利用第一克隆sc203和第二克隆sc205(各自代表相对于生产sc201的配置更改),可以测量克隆sc(203、205)上的流量流以确定配置更改是否提供任何性能益处。为了测量克隆sc的性能,可以在每个克隆sc(203、205)上复制和路由针对生产sc201的流量流。收集流量流的各种度量以确定更改对流性能的影响。举例来说,可以测量每个分组遍历其各自的sc的端到端时间,和/或可以确定sc中的每个设备处的处理持续时间。

如果对虚拟交换机的修改(例如,在虚拟交换机214中,从ovs-dpdk212a到vpp)使得设备之间的延迟缩短,则可以确定对虚拟交换机212a的更改可以改善生产sc201中的流量流性能。类似的,如果http服务器216中的配置更改(例如,在服务器216中实施deflate压缩)使得延迟减少,则可以确定对http服务器210a中实施的压缩方案的修改可能改善生产sc201中的流性能。在一些实现方式中,被确定为改善克隆sc中的流特性的改变参数可以用于向生产sc提供自动配置更新。

再例如,可以随着网络变化(例如,通过网络控制器)来保存和/或自动推送针对第一克隆sc203的虚拟交换机设置和针对第二克隆sc205的http服务器压缩设置以更新生产sc201。在一些方法中,可以执行生产sc克隆和配置改变以自动确定生产sc的新配置设置。根据实现方式,可以周期性地或响应于一个或多个预定事件(例如,在网络环境中进行的更新/更改)来执行针对生产sc的参数调整。

图2b概念性地示出了可以使用所公开的技术来实现的生产sc改变的另一示例。在图2b的示例中,生产sc207被相同地复制(无参数改变)为克隆sc209,并且被复制(有改变)为克隆sc211。在这样的实现方式中,可以例如通过观察流量流在功能上与所选生产sc相同的克隆sc中如何行为来执行真正的a/b测试(即“分割运行测试”)。

实际上,生产sc207和克隆sc209包含基本相同的设备和配置参数(例如,通过vswitch226连接的qos路由器218、内联ips220、负载平衡器222和http服务器224)。然而,sc211包含http服务器228,其实现与克隆sc209(gzip)不同的压缩方案(deflate)。使用生产sc207的相同副本(即克隆sc209)和修改版本(即克隆sc211),可以例如通过确定相同的流量流性能在克隆209和211之间可以如何不同来执行a/b测试。

类似于图2a的示例,被确定为改善克隆sc211上的流量流性能的配置改变可以例如由网络控制器自动地推到生产sc207以用于其他配置设备。在一些情况下,在将新网络设置推出到网络之前,可以首先将其提供给用户(例如,系统管理员)以进行批准。如本领域技术人员所理解的,例如,可以使用相应设备的应用编程接口(api)来在逐设备的基础上对生产sc进行参数更改。

尽管在图2a和图2b中示出的示例仅描绘了生产sc的两个复制,但应理解可以进行任何数量的克隆。此外,在不脱离本技术的范围的情况下每个克隆sc可以包括多个配置更改。因此,通过系统的sc复制和参数改变,可以为所选生产sc确定最佳配置设置。如下面进一步详细讨论的,例如,给定服务链的最佳配置参数可以存储到数据库中,并用于初始化(或通知)针对其他联网情境中类似实现的sc的配置更改、和/或具有类似配置文件的类似流量流。

在一些方面,可以在持续的基础上(例如,以预定时间间隔)自动地执行针对所选生产sc的参数调整。在其他方面,可以响应于一个或多个网络事件来执行生产sc调整,例如,对一个或多个设备进行的更新或配置更改、从网络结构中实例化/移除设备、和/或流量流特性的更改,例如,流量目的地、类型、带宽使用、或服务质量要求的更改。

图3示出了用于实现自动生产服务链参数调整解决方案的示例过程300的步骤。过程300开始于步骤302,其中,测量针对在生产服务链上引导的流量的第一组性能度量。如上所述,生产服务链(sc)可以基本上包含以上讨论的任何类型/布置的虚拟网络设备,例如,如图2a和图2b所示的那些。

针对生产sc上的流量流测量的(一个或多个)性能度量的类型可随实现方式而变化。例如,可以测量一个或多个分组遍历sc的端到端时间。此外,还可以测量链中一个或多个设备的处理时间和/或吞吐量,和/或设备之间传输的分组延迟。

可以理解,可以确定生产sc的各种速度和质量度量以评估性能。如下面更详细地讨论的,这些性能度量可用于确定针对一个或多个克隆sc的修改参数是否提供流量流性能增强。

在步骤304中,例如,生产sc被克隆以产生(第一)克隆sc,其中,一个或多个参数已被修改。下面进一步详细提供了可以修改的示例参数的非详尽总结;然而,本领域技术人员将认识到,对于克隆sc中的一个或多个设备,基本上任何配置或布置更改都可以视为参数更改或sc改变。

实际上,遍历生产sc的流量流例如在头端节点被复制,并被提供给克隆sc。以这种方式,克隆sc承受与生产sc相同的流量负载。

随后,在步骤306中,针对在克隆sc上引导的流量测量第二组性能度量。尽管第二组性能度量可以基本上包括流量吞吐量/传输的任何可测量特质(quality),但在一些方面,出于比较的目的,第二组性能度量包括与在第一组中确定的测量(步骤302)基本上相同的测量。

将第二组性能度量与第一组性能度量进行比较,以确定克隆sc中的参数更改是否产生对所处理的流量流的改善。在其中第二组性能度量表示相对于第一组性能度量的潜在改善(即减少的端到端时间、克隆sc中的一个或多个设备的减少的处理时间、和/或减少的设备间分组传输延迟)的情况下,可以推断类似的更改将对生产sc上的流量流产生类似的改善。

例如,被确定为可能改善流性能的配置更改可以被保存到将sc数据路径设置与各种网络和流量流特性相关的数据库中。在一些方法中,数据库可以被配置为将流量特性集合(例如,流量配置文件)与服务链配置特性(例如,服务链配置文件)相关。基于相应的流量配置文件和服务链配置文件,该数据库可用于识别将在一个或多个后续克隆sc实例中(例如,在相同(或不同)网络环境中)进行测试的候选参数改变。

在步骤308中,识别被确定为可能改善生产sc的流量流性能的至少一个配置更改。可以自动推送所识别的(一个或多个)配置更改,以便自动调整生产sc的配置以实现最佳流量流性能。替代地,可以向用户(例如,网络管理员)提供一个或多个配置更新建议,以验证在将新配置被推出到网络之前网络更改应被实施。如上所述,可以周期性地或响应于网络结构中的某些检测到的变化来针对所选生产sc执行过程300。

作为非限制性示例,可以响应于网络变化来执行生产sc调整,例如在以下情况下:新服务功能或设备被添加到现有链中(或从中移除)、服务链被新近添加到nfv平台中(或从中移除)、服务功能链被移至新数据中心或底层平台、显著新的流量配置文件被添加到网络、和/或现有流量配置文件发生显著变化。还可以响应于服务链中的一个或多个设备的超出资源阈值来执行参数调整。举例来说,如果cpu使用率超过预定量(例如,总cpu容量的75%)、如果存储器使用率超过预定阈值(例如,总存储容量的80%)、或者如果达到监测阈值(例如,超过三个分组在入口队列处)等,则可以执行sc调整。此外,可以响应于确定已经满足或超过各种性能阈值来执行sc调整。例如,可以响应于确定端到端事务时间已经超过预定阈值(例如,3ms),或者针对链中的特定类型的功能的处理时间已经超过预定持续时间(例如,超过6ms的dpi功能)等来执行调整。

在一些方面,可以使用机器学习(ml)方法来执行克隆sc的参数调整。例如,可以使用一种或多种ml算法来监测生产和克隆sc上的流量流性能,并更新克隆sc的可配置参数以识别产生改善性能的配置组合。如本领域技术人员所理解的,实际上,可以使用ml方法来监测任何数量的生产/克隆sc,例如,使得在任何时间监测数百或数千个活动的克隆sc,每个克隆sc具有由ml算法设置的不同参数。

如本领域技术人员所理解的,实际上,可以例如在一个或多个sc克隆中改变与设备或整个服务链(例如,数据路径)有关的任何参数。例如,可以在各种生产sc和sc克隆之间更改与ram、cpu、或对vm端点的存储分配有关的参数。在一些情况下,为vm端点提供额外的资源可以提高性能,但是随着瓶颈向列表的下方移动而通常会导致收益递减;此外,由于计算资源的有限性,增加vm分配可能导致与主机上的其他实例的竞争。

在一些方面,可以在各种生产sc和sc克隆之间更改与ram、cpu、或对nfv设备的存储分配有关的参数。这样的参数可影响对一个或多个虚拟设备(例如,虚拟路由器)的资源分配。与vm分配一样,增加的nfv资源分配可能提供递减的收益,尤其是在设备的吞吐量受软件许可限制的情况下。

在一些方面,可以在各种生产sc和sc克隆之间更改与用于一个或多个虚拟网络接口卡(nic)的多队列支持的配置相对应的参数。例如,vm的虚拟nic可能只具有单个接收缓冲器。在一个或多个vcpu足够空闲以能够服务其他接收队列的情况下,添加多队列支持可以增加接收容量。

在一些方面,可以在生产sc和sc克隆之间更改与测试接入点(tap)接口传输队列长度有关的参数。例如,在一些基于内核的虚拟机(kvm)/openstack实现方式中,tap接口提供了从主机的内核到vm的虚拟nic的虚拟链接。根据现代网络标准,一些部署中的默认队列长度相对较低(例如,500个分组)。增加队列长度可以增加链接的处理能力。然而,可能需要小心的调整,因为过大的队列大小可能会增加延迟,这对于诸如语音和视频之类的敏感应用来说是一个问题。

在一些方面,参数调整可用于实现linuxveth对或ovs修补程序端口。默认情况下,使用openvswitch(ovs)来提供到vm的链路层连接的许多部署(尤其是在openstack环境中)利用linuxveth对在ovs桥之间传递分组。然而,此类实现方式可能会导致性能瓶颈,因为它涉及将分组切入和切出用户空间。在一些实现方式中,更有效的解决方案是用ovs修补程序端口来替换veth对,以保持在内核中处理所有分组。在没有服务中数据路径的克隆的情况下,必须关闭主机上的所有联网以测试此更改,从而影响流量。

在一些方面,参数调整可用于改变可用于主机硬件的资源。按数量或速度/效率增加主机硬件上的资源(例如,cpu、ram等)通常提高性能。参数调整可涉及将所有服务链功能(或部分服务链功能)托管在相同或不同的硬件上。

在一些方面,参数调整可用于影响主机内核版本的升级/降级。主机的内核的升级或降级例如对于在其上运行的各种访客(虚拟服务)可能导致性能差异,因为主机的内核仍负责传递去往/来自访客的分组。

在一些方面,可以操纵一个或多个参数以影响各种生产sc和sc克隆之间的实体链路聚合。例如,对链路聚合算法(例如,链路聚合控制协议(lacp))的更改可影响性能,这取决于跨实体链路上流量负载平衡的程度。最佳负载平衡可能是高度特定于情境的,并且因此负载平衡算法在很大程度上取决于环境要处理的流量的类型。例如,处理类似端点之间的许多小型传输控制协议(tcp)和/或用户数据报协议(udp)连接的环境可最受益于基于l4的算法,例如,因为源和目的地互联网协议(ip)地址对于每个流通常是相同的。

在一些方面,可以操纵一个或多个参数以影响一个或多个网络接口卡(nic)的缓冲容量和/或处理能力。取决于实现方式,参数调整可用于影响一个或多个分组缓冲器的大小(例如,类似于tap接口传输队列长度调整)和/或升级驱动器以进行更高效的处理。

在一些方面,可以操纵一个或多个参数以影响所实现的分组转发技术的类型。在云环境中,分组转发技术有很多选择,并且这些选择各自具有优势和劣势。例如,一些部署中可以使访客使用主机的内核作为虚拟nic和主机的实体nic之间的中介,以使他们能够访问实体网络。这通常可能是取决于主机的速度和可用资源的性能瓶颈。诸如向量分组处理(vpp)之类的较新技术(还可以在数据平面开发套件(dpdk)的基础上建立以提供对硬件的更直接访问)可以帮助缓解这些瓶颈,并针对未进入或离开特定节点的分组提供更好的性能。

应当理解,可调设备参数的前述示例不是穷举的,并且在不脱离本技术的范围的情况下,可以修改其他服务链特质(quality)或配置。

图4示出了示例网络设备410,其可以用于实现一个或多个服务链(sc),如上所述。网络设备410包括主中央处理单元(cpu)462、接口468和总线415,例如,外围计算机互连(pci)总线。cpu462可以被配置为在包括操作系统和任何适当的应用软件的软件的控制下执行对一个或多个虚拟网络功能的监测。cpu462可以包括一个或多个处理器463,例如,来自intel、arm、和/或motorola系列微处理器、或mips系列微处理器的处理器。在替代实施例中,处理器463是专门设计的用于控制网络设备410的操作的硬件。在特定实施例中,存储器461(例如,非易失性ram和/或rom)也形成cpu462的一部分。然而,存在许多不同的方式来将存储器耦合到系统。

接口468可以被提供为接口卡(有时称为“网络接口卡”(nic)或“线卡”)。通常,它们控制数据分组在网络上的发送和接收,并有时支持与设备410一起使用的其他外围设备。可以提供的接口为以太网接口、帧中继接口、电缆接口、数字订户线(dsl)接口、令牌环接口等。另外,可以提供各种非常高速的接口,例如,快速令牌环接口、无线接口、以太网接口、千兆位以太网接口、异步传输模式(atm)接口、高速串行接口(hssi)、销售点(pos)接口、光纤分布式数据接口(fddi)等。通常,这些接口可以包括适合与适当的介质进行通信的端口。在一些情况下,它们还可以包括独立处理器,并且在一些情况下,还可以包括易失性ram。独立处理器可以控制诸如分组交换、介质控制和管理之类的通信密集型任务。通过为通信密集型任务提供单独的处理器,这些接口允许主微处理器462高效执行路由计算、网络诊断、安全功能等。

尽管图4所示的系统是本发明的一个特定的网络设备,但绝不是可以在其上实现本发明的唯一的网络设备架构。例如,经常使用具有处理通信以及路由选择计算等的单个处理器的架构。此外,路由器也可以使用其他类型的接口和介质。

无论网络设备的配置如何,它都可以采用一个或多个非暂态存储器或存储模块(包括存储器461),该一个或多个非暂态存储器或存储模块被配置为存储用于通用网络操作的程序指令,以及实现本技术的服务链自动调整过程的一个或多个步骤所需的机制。

例如,存储器461可包括非暂态计算机可读介质,该非暂态计算机可读介质包括用于使cpu462执行操作的指令,该操作用于:测量针对在生产服务链(sc)上引导的第一流量流的第一组性能度量,其中,生产sc包括一个或多个设备;并且对生产sc进行克隆以产生第一克隆sc,其中,第一克隆sc包括至少一个与生产sc不同的参数或设备。在一些方面,该操作还可以包括用于以下操作的步骤:测量针对在克隆sc上引导的第二流量流的第二组性能度量;并且基于第一组性能度量和第二组性能度量,识别可能改善在生产sc上引导的流量流的流性能的针对生产sc的至少一个配置改变。

总之,所公开的技术的实施例通过提供用于自动识别和调整各种sc参数的解决方案,解决了手动识别和优化服务链(sc)性能瓶颈的问题。在一些方面,所公开的技术的sc优化过程包括要针对其进行流量流优化的sc的复制或克隆。然后可以在一个或多个sc克隆上模拟生产链的流量流以识别和调整各个系统参数,例如,以确定模拟变化对流量性能产生正面、负面、还是中性变化。还提供了系统和机器可读介质。

应当理解,所公开的过程中的步骤的任何特定顺序或层级都是示例性方法的说明。基于设计偏好,应当理解,可以重新排列过程中的步骤的特定顺序或层级,或者仅执行所示步骤的一部分。一些步骤可以同时执行。例如,在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包到多个软件产品中。

提供先前的描述是为了使本领域的任何技术人员能够实践本文描述的各个方面。对这些方面的各种修改对于本领域技术人员将是显而易见的,并且本文定义的一般原理可以应用于其他方面。因此,权利要求不意图限于本文中所展示的方面,而是应被赋予与语言权利要求一致的完整范围,其中,以单数形式提及元素并不意图表示“一个且仅一个”(除非明确指出),而是“一个或多个”。

诸如“方面”之类的短语并不意味着该方面对于本技术是必不可少的,也不意味着该方面适用于本技术的所有配置。与一个方面有关的公开可以应用于所有配置,或者一个或多个配置。诸如方面之类的短语可以指一个或多个方面,反之亦然。诸如“配置”之类的短语并不意味着该配置对于本技术是必不可少的,也不意味着该配置适用于本技术的所有配置。与配置有关的公开可以适用于所有配置,或者一个或多个配置。诸如配置之类的短语可以指一个或多个配置,反之亦然。

词语“示例性”在本文中用来表示“用作示例或说明”。本文中被描述为“示例性”的任何方面或设计不必被解释为比其他方面或设计更优选或更具优势。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1