容器的网络带宽的调节方法、计算机设备及可读存储介质与流程

文档序号:20916795发布日期:2020-05-29 13:38阅读:216来源:国知局
容器的网络带宽的调节方法、计算机设备及可读存储介质与流程

本发明属于网络调节技术领域,具体地,涉及一种容器的网络带宽的调节方法、计算机设备及可读存储介质。



背景技术:

在基于容器的系统中,用户将不同的工作负载整合到相同的硬件上而且隔离层没有正确隔离共享资源,用户拥有相同资源侧重的工作负载可能部署在在同一台云主机上,从而造成性能的干扰以及资源的利用率低下。容器当负载增加时,很容易达到一个干扰临界点,从而造成效率大幅度降低,并且随着容器数量的增加性能还会更剧烈的下降。



技术实现要素:

为解决上述现有技术存在的问题,本发明提供了一种避免容器性能大幅下降的容器的网络带宽的调节方法、计算机设备及可读存储介质。

为了达到上述发明目的,本发明采用了如下的技术方案:

根据本发明的一方面,提供了一种容器的网络带宽的调节方法,所述调节方法包括步骤:

s100、将包括多个容器的系统的网络带宽m分配给各个容器,以使各个容器获得分配网络带宽;

s200、获取各个容器的实际网络带宽,并判断各个容器的实际网络带宽是否超过各自的预设网络带宽,其中,各个容器的预设网络带宽小于各自的分配网络带宽;

s300、获取实际网络带宽超过预设网络带宽的容器的数量,并判断获取的所述数量是否超过预设数量;其中,若是,则执行完步骤s400之后,返回步骤s100;若否,则直接返回步骤s100;

s400、使系统的网络带宽m=m*n,其中,n为大于1的提升系数。

进一步地,所述步骤s100具体包括步骤:

s110、对系统中的各个容器分别设置一初始的权重值;

s120、对系统中的各个容器的权重值进行动态调整;

s130、根据各个容器的权重值将系统的网络带宽m分配给各个容器。

进一步地,所述步骤s120具体包括步骤:

s121、检测系统中的磁盘io数据和各个容器的网络io数据;

s122、判断各个容器的网络io数据是否大于或等于预设网络io数据,同时判断磁盘io数据是否小于或等于预设磁盘io数据;其中,若所述容器的网络io数据大于或等于预设网络io数据,且磁盘io数据小于或等于预设磁盘io数据,则进行步骤s123;若所述容器的网络io数据小于预设网络io数据,和/或磁盘io数据大于预设磁盘io数据,则直接进行步骤s130;

s123,对所述容器的权重值进行动态调整,以限制所述容器将分配到的网络带宽。

进一步地,所述步骤s300中的所述预设数量的获取方法包括:

在系统的io数据大于预设io数据时,使不同数量的容器同时加载数据;

检测不同数量的容器同时加载数据时的容器的平均干扰力度;

将平均干扰力度超过预设干扰力度时同时加载数据的容器的数量设定为预设数量。

根据本发明的另一方面,还提供了一种计算机设备,所述计算机设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的调节网络带宽的程序,所述调节网络带宽的程序被所述处理器执行时实现如下步骤:

s100、将包括多个容器的系统的网络带宽m分配给各个容器,以使各个容器获得分配网络带宽;

s200、获取各个容器的实际网络带宽,并判断各个容器的实际网络带宽是否超过各自的预设网络带宽,其中,各个容器的预设网络带宽小于各自的分配网络带宽;

s300、获取实际网络带宽超过预设网络带宽的容器的数量,并判断获取的所述数量是否超过预设数量;其中,若是,则执行完步骤s400之后,返回步骤s100;若否,则直接返回步骤s100;

s400、使系统的网络带宽m=m*n,其中,n为大于1的提升系数。

进一步地,所述步骤s100具体包括步骤:

s110、对系统中的各个容器分别设置一初始的权重值;

s120、对系统中的各个容器的权重值进行动态调整;

s130、根据各个容器的权重值将系统的网络带宽m分配给各个容器。

进一步地,所述步骤s120具体包括步骤:

s121、检测系统中的磁盘io数据和各个容器的网络io数据;

s122、判断各个容器的网络io数据是否大于或等于预设网络io数据,同时判断磁盘io数据是否小于或等于预设磁盘io数据;其中,若所述容器的网络io数据大于或等于预设网络io数据,且磁盘io数据小于或等于预设磁盘io数据,则进行步骤s123;若所述容器的网络io数据小于预设网络io数据,和/或磁盘io数据大于预设磁盘io数据,则直接进行步骤s130;

s123,对所述容器的权重值进行动态调整,以限制所述容器将分配到的网络带宽。

进一步地,所述步骤s300中的所述预设数量的获取方法包括:

在系统的io数据大于预设io数据时,使不同数量的容器同时加载数据;

检测不同数量的容器同时加载数据时的容器的平均干扰力度;

将平均干扰力度超过预设干扰力度时同时加载数据的容器的数量设定为预设数量。

根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有容器的网络带宽的调节程序,所述容器的网络带宽的调节程序被处理器执行性实现如权利要求1至4中任一项所述的容器的网络带宽的调节方法的步骤。

本发明的有益效果:本发明基于权重值对容器的网络带宽进行动态调整,避免容器到达干扰临界点,在容器的网络带宽发生整体大幅下降时可以快速恢复到正常水平。

附图说明

通过结合附图进行的以下描述,本发明的实施例的上述和其它方面、特点和优点将变得更加清楚,附图中:

图1是根据本发明的实施例的容器的网络带宽的调节方法的流程图;

图2是根据本发明的实施例的步骤s100的流程图;

图3是根据本发明的实施例的步骤s120的流程图;

图4是根据本发明的实施例在获取预设数量时不同数量的容器加载数据时的平均干扰力度的示意图;

图5是根据本发明的实施例在获取预设数量时不同数量的容器加载数据时的平均吞吐率的示意图;

图6是根据本发明的实施例在获取预设数量时不同数量的容器加载数据时的运行时间的示意图;

图7是根据本发明的实施例的计算机设备的结构示意图。

具体实施方式

以下,将参照附图来详细描述本发明的实施例。然而,可以以许多不同的形式来实施本发明,并且本发明不应该被解释为限制于这里阐述的具体实施例。相反,提供这些实施例是为了解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够理解本发明的各种实施例和适合于特定预期应用的各种修改。

实施例一

图1是根据本发明的实施例的容器的网络带宽的调节方法的流程图。图2是根据本发明的实施例的步骤s100的流程图。图3是根据本发明的实施例的步骤s120的流程图。

参照图1所示,根据本发明的实施例的容器的网络带宽的调节方法包括步骤:

s100、将包括多个容器的系统的网络带宽m分配给各个容器,以使各个容器获得分配网络带宽;

s200、获取各个容器的实际网络带宽,并判断各个容器的实际网络带宽是否超过各自的预设网络带宽,其中,各个容器的预设网络带宽小于各自的分配网络带宽;

s300、获取实际网络带宽超过预设网络带宽的容器的数量,并判断获取的所述数量是否超过预设数量;其中,若是,则执行完步骤s400之后,返回步骤s100;若否,则直接返回步骤s100;

s400、使系统的网络带宽m=m*n,其中,n为大于1的提升系数。

具体地,系统包括服务器、硬件和多个容器等,为了满足不同资源需求领域的客户,云提供商为了提高资源利用率会将多个客户整合到相同硬件上来共享资源,即多个容器共享服务器和硬件资源。虽然可以显着的节省成本,但同时也带来了一个问题:多个容器拥有相同资源,在容器工作负载较大时,容易受到干扰,从而造成性能的干扰以及资源的利用率低下,同一时间随着共同工作的容器的数量的增加,干扰更严重,性能会更加剧烈的下降。

为了防止容器到达干扰临界点,本发明的实施例周期性对系统的每个容器的实际网络带宽进行检测,在系统的多个容器的网络带宽超过预设网络带宽时,增加系统的整体网络带宽,提高容器的网络带宽,避免容器到达干扰临界点。

参照图2所示,所述步骤s100具体包括步骤:

s110、对系统中的各个容器分别设置一初始的权重值;

具体地,步骤s110中根据实际需要向系统的每个容器设置权重值,以向每个容器分配所需的网络带宽。

s120、对系统中的各个容器的权重值进行动态调整;

s130、根据各个容器的权重值将系统的网络带宽m分配给各个容器。

作为本发明的一种实施方式,为了防止网络io负载较高但是磁盘io负载不高的容器影响其他容器的性能,步骤s120进一步对网络io负载较高但是磁盘io负载不高的容器的权重值进行调整。步骤s120具体包括步骤:

s121、检测系统中的磁盘io数据和各个容器的网络io数据;

s122、判断各个容器的网络io数据是否大于或等于预设网络io数据,同时判断磁盘io数据是否小于或等于预设磁盘io数据;其中,若所述容器的网络io数据大于或等于预设网络io数据,且磁盘io数据小于或等于预设磁盘io数据,则进行步骤s123;若所述容器的网络io数据小于预设网络io数据,和/或磁盘io数据大于预设磁盘io数据,则直接进行步骤s130;

s123,对所述容器的权重值进行动态调整,以限制所述容器将分配到的网络带宽。

作为本发明的一种实施方式,步骤s300中的预设数量的获取方法包括:

在系统的io数据大于预设io数据时,使不同数量的容器同时加载数据;

检测不同数量的容器同时加载数据时的容器的平均干扰力度;

将平均干扰力度超过预设干扰力度时同时加载数据的容器的数量设定为预设数量。

图4是根据本发明的实施例在获取预设数量时不同数量的容器加载数据时的平均干扰力度的示意图。图5是根据本发明的实施例在获取预设数量时不同数量的容器加载数据时的平均吞吐率的示意图。图6是根据本发明的实施例在获取预设数量时不同数量的容器加载数据时的运行时间的示意图。

作为本发明的一种实施方式,例如本发明的实施例的系统中,分别让不同数量的容器同时加载数据,即向数据库中加载数据;由图4可知,在同时加载数据的容器的数量为6个时,容器的平均干扰力度超过80%,在本实施例中预设干扰力度为80%,即在本实施例中,同时加载数据的容器的数量达到6个时,容器受到较大的干扰,由图5、图6可知,同时加载数据的容器的数量达到6个时,容器的平均吞吐率相比5个容器时下降了50%、容器的运行时间增加了1倍;即在本实施例中,同时加载数据的容器的数量达到6个时,达到容器的干扰临界点,容器的性能受到严重影响。

作为本发明的一种实施方式,提升系数n可取值2,在满足带宽增长条件,即实际网络带宽超过预设网络带宽的容器的数量超过预设数量时,则提高系统的网络带宽m=m*n,在本实施例中,初始的系统网络带宽为1m/s,提升系数为2。在第一个检测周期,如果满足带宽条件,则系统的网络带宽增加为2m/s;如果第二个检测周期,同样满足带宽条件,则系统的网络带宽增加为4m/s,以此类推,每次增长的网络带宽以提升系数的指数规律增长,从而可以在网络带宽发生整体大幅度下降时快速恢复到正常水平。

在本实施例中,磁盘io数据、网络io数据、系统的io数据是指磁盘的读写数据量、网络读写数据量、系统的读写数据量,也可以叫做磁盘io负载、网络io负载和系统的io负载。

本发明基于权重值对容器的网络带宽进行动态调整,避免容器到达干扰临界点,在容器的网络带宽发生整体大幅下降时可以快速恢复到正常水平。

实施例二

图7是根据本发明的实施例的计算机设备的结构示意图。

参照图7所示,本实施例还提供了一种计算机设备100,所述计算机设备100包括存储器110、处理器120以及存储在存储器110中并可在处理器120上运行的容器的网络带宽的调节程序130,所述调节网络带宽的调节程序130被所述处理器120执行时实现如下步骤:

s100、将包括多个容器的系统的网络带宽m分配给各个容器,以使各个容器获得分配网络带宽;

s200、获取各个容器的实际网络带宽,并判断各个容器的实际网络带宽是否超过各自的预设网络带宽,其中,各个容器的预设网络带宽小于各自的分配网络带宽;

s300、获取实际网络带宽超过预设网络带宽的容器的数量,并判断获取的所述数量是否超过预设数量;其中,若是,则执行完步骤s400之后,返回步骤s100;若否,则直接返回步骤s100;

s400、使系统的网络带宽m=m*n,其中,n为大于1的提升系数。

作为本发明的一种实施方式,步骤s100具体包括:

s110、对系统中的各个容器分别设置一初始的权重值;

s120、对系统中的各个容器的权重值进行动态调整;

s130、根据各个容器的权重值将系统的网络带宽m分配给各个容器。

作为本发明的一种实施方式,步骤s120具体包括:

s121、检测系统中的磁盘io数据和各个容器的网络io数据;

s122、判断各个容器的网络io数据是否大于或等于预设网络io数据,同时判断磁盘io数据是否小于或等于预设磁盘io数据;其中,若所述容器的网络io数据大于或等于预设网络io数据,且磁盘io数据小于或等于预设磁盘io数据,则进行步骤s123;若所述容器的网络io数据小于预设网络io数据,和/或磁盘io数据大于预设磁盘io数据,则直接进行步骤s130;

s123,对所述容器的权重值进行动态调整,以限制所述容器将分配到的网络带宽。

作为本发明的一种实施方式,步骤s300中的预设数量的获取方法包括:

在系统的io数据大于预设io数据时,使不同数量的容器同时加载数据;

检测不同数量的容器同时加载数据时的容器的平均干扰力度;

将平均干扰力度超过预设干扰力度时同时加载数据的容器的数量设定为预设数量。

本实施例中的计算机设备100可以是桌上型计算机、笔记本、掌上电脑等计算设备。本领域技术人员可以理解,图2仅仅是计算机设备端的示例,并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

存储器110可以是计算机设备的内部存储单元,例如计算机设备的硬盘或内存。存储器10也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘、智能存储卡(smartmediacard,smc)、安全数字(securedigital,sd)卡、闪存卡(flashcard)等。

存储器110还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器110用于存储所述容器的网络带宽的调节程序以及所述计算机设备所需的其他程序和数据。存储器10还可以用于暂时地存储已经输出或者将要输出的数据。

处理器120可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

实施例三

本发明还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有容器的网络带宽的调节程序。所述容器的网络带宽的调节程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的容器的网络带宽的调节程序。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必须的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现处理,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可以做出很多形式,这些均属于本发明的保护之内。

虽然已经参照特定实施例示出并描述了本发明,但是本领域的技术人员将理解:在不脱离由权利要求及其等同物限定的本发明的精神和范围的情况下,可在此进行形式和细节上的各种变化。

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