CN110096339A - 一种基于***负载实现的扩缩容配置推荐***及方法 - Google Patents

一种基于***负载实现的扩缩容配置推荐***及方法 Download PDF

Info

Publication number
CN110096339A
CN110096339A CN201910389923.3A CN201910389923A CN110096339A CN 110096339 A CN110096339 A CN 110096339A CN 201910389923 A CN201910389923 A CN 201910389923A CN 110096339 A CN110096339 A CN 110096339A
Authority
CN
China
Prior art keywords
load
configuration
module
load data
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910389923.3A
Other languages
English (en)
Other versions
CN110096339B (zh
Inventor
金先友
程名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Bajie Electronic Commerce Co Ltd
Original Assignee
Chongqing Bajie Electronic Commerce Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing Bajie Electronic Commerce Co Ltd filed Critical Chongqing Bajie Electronic Commerce Co Ltd
Priority to CN201910389923.3A priority Critical patent/CN110096339B/zh
Publication of CN110096339A publication Critical patent/CN110096339A/zh
Application granted granted Critical
Publication of CN110096339B publication Critical patent/CN110096339B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于***负载实现的扩缩容配置推荐***,其包括负载采集模块、负载数据接收模块和应用配置推荐模块,其特征在于:所述负载采集模块,其用于对负载数据进行采集;所述负载数据接收模块,其用于汇总所述负载数据;所述应用配置推荐模块,其用于获取扩缩容推荐配置。本发明还公开了一种基于双活数据中心流量自动切换的方法。本发明通过各***联动,充分利用运维各***产生的数据,动态扩缩容提高各种研发环境和线上环境的资源利用率,节省资源降低成本消耗。提升研发人员的容量评估预估能力。

Description

一种基于***负载实现的扩缩容配置推荐***及方法
技术领域
本发明计算机科学软件信息技术领域,具体涉及一种基于***负载实现的扩缩容配置推荐***及方法。
背景技术
***研发完成上线并不代表工作的结束,线上***的运行维护也是工作的重点。由于hypervisor虚拟化技术仍然存在一些性能和资源使用效率方面的问题,因此出现了一种称为容器技术(Container)的新型虚拟化技术来帮助解决这些问题。容器技术虚拟化技术已经成为一种被大家广泛认可的容器技术服务器资源共享方式,容器技术可以在按需构建容器技术操作***实例的过程当中为***管理员提供极大的灵活性。在使用虚拟机的时候扩容缩容操作成本极高。***容器化之后,使研发***自动扩缩容成为了功能,可以指定应用使用CPU的核数和内存大小。但究竟应该使用什么样的配置完全依赖于资深研发人员对容量的评估和估算,人员估算就会存在偏差。如果线上容量评估资源不足,线上运行过程中就会频繁出现应用响应缓慢,在内存严重不足的情况下应用还会***作***强制关闭最终导致服务不可用,而资源评估过多又会造成线上机器资源的浪费。
发明内容
针对现有技术中的缺陷,本发明提供了一种基于***负载实现的扩缩容配置推荐***,解决对应用容量评估的主观性、不准确性。
为了解决上述技术问题,本发明采用了如下的技术方案:
一种基于***负载实现的扩缩容配置推荐***,其包括负载采集模块、负载数据接收模块和应用配置推荐模块,其特征在于:
所述负载采集模块,其用于对负载数据进行采集;
所述负载数据接收模块,其用于汇总所述负载数据;
所述应用配置推荐模块,其用于获取扩缩容推荐配置。
其中,所述***还包括:
负载数据存储模块,其用于存储所述负载数据接收模块汇总的负载数据。
其中,所述***还包括:
应用类型评估模块,其用于基于应用实例配置及应用评级得到应用负载配比。
其中,所述***还包括:
应用扩缩容模块,其用于基于获取的扩缩容推荐配置,计算扩缩容差比和差值。
其中,所述***还包括:
容器管理模块,其用于基于所述差比和差值重新构建应用实例。
其中,所述负载数据接收模块还用于将负载数据发往消息中间件,定期从所述消息中间件取出负载数据进行汇总并将汇总结果存入所述负载数据存储模块。
其中,所述应用配置推荐模块具体用于通过统计所述负载数据存储模块中的汇总结果得到数据项,并将所述数据项与数据项对应的负载配比做计算得到应用的推荐配置项,通过调整所述推荐配置项得到最佳配置值。
其中,所述应用扩缩容模块还用于:通过触发条件调用所述应用配置推荐模块获取应用的最佳配置值并将最佳配置值和当前配置值进行比较得到差比和差值。
这样,提供了一个根据应用实例动态扩缩容的***,节省资源降低成本消耗。
作为优化,所述应用信息模块的信息包括应用使用的语言、当前机器配置情况、当前应用机器实例列表。
这样,可以提供跟应用有关的所有信息,更加全面准确地得到应用负载配比。
作为优化,所述负载采集模块采集的负载数据包括实体机负载、虚拟机负载、容器负载、容器内进程资源占用负载、应用进程资源占用细分负载。
这样,可以更加全面准确地采集到应用相关的负载情况。
作为优化,所述数据项包括负载的最小值、最大值、平均值、标准差。
这样,可以更加全面的得知负载值的情况。
作为优化,所述负载数据存储模块为时序数据库。
这样,可以存储实时监测、采集的数据,更能够满足***的需求。
作为优化,所述应用配置推荐模块中,所述数据项与数据项对应的负载配比计算具体为:推荐配置项=数据项/数据项对应的负载配比。
这样,根据数据项对应的负载配比和数据项的值可以更加准确的得到推荐配置项的值。
作为优化,所述应用扩缩容模块的触发条件为一周时间应用实际负载占用内存平均高于80%或低于20%或CPU平均值高于70%或低于20%。
这样,对于长期负载过剩或者负载不足的应用可以实现自动触发应用扩索容模块实现自动扩容缩容。
作为优化,最佳配置值和当前配置值进行比较得到的差比大于50%且差值大于100M,容器管理模块重新构建应用实例。
这样,为容易管理模块构建应用实例的折中条件,可以同时满足大内存的存储器和小内存的存储器的需求。
作为优化,所述应用配置推荐模块中,调整推荐配置项的方法包括在多个推荐配置项中取出数值最大的推荐配置项,向上取整得到最佳配置值。
这样,可以保证取到的最佳配置值满足应用最大的需求。
本发明还提出了一种基于***负载实现的扩缩容配置推荐方法,其包括:
对负载数据进行采集;
汇总所述负载数据;
获取扩缩容推荐配置。
其中,所述方法还包括:
存储所述负载数据接收模块汇总的负载数据。
其中,所述方法还包括:
基于应用实例配置及应用评级得到应用负载配比。
其中,所述方法还包括:
基于获取的扩缩容推荐配置,计算扩缩容差比和差值。
其中,所述方法还包括:
基于所述差比和差值重新构建应用实例。
其中,将负载数据发往消息中间件,定期从所述消息中间件取出负载数据进行汇总并将汇总结果存储。
其中,通过统计所述负载数据存储模块中的汇总结果得到数据项,并将所述数据项与数据项对应的负载配比做计算得到应用的推荐配置项,通过调整所述推荐配置项得到最佳配置值。
其中,通过触发条件获取应用的最佳配置值并将最佳配置值和当前配置值进行比较得到差比和差值。
其中,负载数据包括实体机负载、虚拟机负载、容器负载、容器内进程资源占用负载、应用进程资源占用细分负载。
其中,所述数据项包括负载的最小值、最大值、平均值、标准差。
其中,所述负载数据存储模块为时序数据库。
其中,所述数据项与数据项对应的负载配比计算具体为:推荐配置项=数据项/数据项对应的负载配比。
其中,触发条件为一周时间应用实际负载占用内存平均高于80%或低于20%或CPU平均值高于70%或低于20%。
其中,最佳配置值和当前配置值进行比较得到的差比大于50%且差值大于100M,容器管理模块重新构建应用实例。
其中,调整推荐配置项的方法包括在多个推荐配置项中取出数值最大的推荐配置项,向上取整得到最佳配置值。
本发明的有益效果体现在:本发明通过各***联动,充分利用运维各***产生的数据,动态扩缩容提高各种研发环境和线上环境的资源利用率,节省资源降低成本消耗,提升研发人员的容量评估预估能力。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明所述一种基于***负载实现的扩缩容配置推荐***的***结构图
图2为本发明所述一种基于***负载实现的扩缩容配置推荐方法的流程图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
如图1所示,在某一实施例中,本发明提出了一种基于***负载实现的扩缩容配置推荐***,包括负载采集模块、负载数据接收模块和应用配置推荐模块,其特征在于:
所述负载采集模块,其用于对负载数据进行采集;
所述负载数据接收模块,其用于汇总所述负载数据;
所述应用配置推荐模块,其用于获取扩缩容推荐配置。
其中,所述***还包括:
负载数据存储模块,其用于存储所述负载数据接收模块汇总的负载数据。
其中,所述***还包括:
应用类型评估模块,其用于基于应用实例配置及应用评级得到应用负载配比。
其中,所述***还包括:
应用扩缩容模块,其用于基于获取的扩缩容推荐配置,计算扩缩容差比和差值。
其中,所述***还包括:
容器管理模块,其用于基于所述差比和差值重新构建应用实例。
其中,所述负载数据接收模块还用于将负载数据发往消息中间件,定期从所述消息中间件取出负载数据进行汇总并将汇总结果存入所述负载数据存储模块。
其中,所述应用配置推荐模块具体用于通过统计所述负载数据存储模块中的汇总结果得到数据项,并将所述数据项与数据项对应的负载配比做计算得到应用的推荐配置项,通过调整所述推荐配置项得到最佳配置值。
其中,所述应用扩缩容模块还用于:通过触发条件调用所述应用配置推荐模块获取应用的最佳配置值并将最佳配置值和当前配置值进行比较得到差比和差值。
这样,提供了一个根据应用实例动态扩缩容的***,节省资源降低成本消耗。
作为优化,所述应用信息模块的信息包括应用使用的语言、当前机器配置情况、当前应用机器实例列表。
这样,可以提供跟应用有关的所有信息,更加全面准确地得到应用负载配比。
作为优化,所述负载采集模块采集的负载数据包括实体机负载、虚拟机负载、容器负载、容器内进程资源占用负载、应用进程资源占用细分负载。
这样,可以更加全面准确地采集到应用相关的负载情况。
作为优化,所述数据项包括负载的最小值、最大值、平均值、标准差。
这样,可以更加全面的得知负载值的情况。
作为优化,所述负载数据存储模块为时序数据库。
这样,可以存储实时监测、采集的数据,更能够满足***的需求。
作为优化,所述应用配置推荐模块中,所述数据项与数据项对应的负载配比计算具体为:推荐配置项=数据项/数据项对应的负载配比。
这样,根据数据项对应的负载配比和数据项的值可以更加准确的得到推荐配置项的值。
作为优化,所述应用扩缩容模块的触发条件为一周时间应用实际负载占用内存平均高于80%或低于20%或CPU平均值高于70%或低于20%。
这样,对于长期负载过剩或者负载不足的应用可以实现自动触发应用扩索容模块实现自动扩容缩容。
作为优化,最佳配置值和当前配置值进行比较得到的差比大于50%且差值大于100M,容器管理模块重新构建应用实例。
这样,为容易管理模块构建应用实例的折中条件,可以同时满足大内存的存储器和小内存的存储器的需求。
作为优化,所述应用配置推荐模块中,调整推荐配置项的方法包括在多个推荐配置项中取出数值最大的推荐配置项,向上取整得到最佳配置值。
在另一实施例中,本发明提出了一种基于***负载实现的扩缩容配置推荐***,其包括负载采集模块、负载数据接收模块、负载数据存储模块、应用类型评估模块、应用配置推荐模块和应用扩缩容模块。
其中,负载包括应用对CPU和内存的占用情况。
负载采集模块通过性能监控模块对负载数据进行采集并将采集到的负载数据上传至负载数据接收模块。
本实施例中,性能监控模块包括容器监控Agent、容器内进程资源占用监控Agent、应用进程资源占用细分监控Agent。负载数据包括实体机负载、虚拟机负载、容器负载、容器内进程资源占用负载、应用进程资源占用细分负载。
负载数据接收模块接收负载数据并将负载数据发往消息中间件,定期从消息中间件取出负载数据进行汇总并将汇总结果存入负载数据存储模块。本实施例中,消息中间件可以是kafka也可以是rabbitmq或rocketmq。负载数据接收模块每间隔30s从消息中间件中取出前30秒存入的负载数据,汇总后再存入负载数据存储模块。这样,避免负载数据每一秒存入负载数据存储模块中,减少***内存的占用。间隔时间也可以为其他时间。
负载数据存储模块存储负载数据接收模块的汇总结果。本实施例中,负载数据存储模块为时序数据库。
应用类型评估模块通过应用信息模块的信息、应用实例配置及应用评级得到应用负载配比。应用在新的服务器上都会按照此负载配比运行,然后再看此应用在新服务器的负载。本实施例中,应用信息模块的信息包括应用使用的语言、大小、当前机器配置情况、当前应用机器实例列表。
具体为,应用类型评估模块根据应用实例配置及应用的负载情况和应用使用的语言评估应用的类型,再加上应用的评级如核心交易应用***给予不同的应用负载配比。
应用的类型分为IO密集型还是CPU密集型应用。
CPU密集型也叫计算密集型,指的是***的硬盘、内存性能相对CPU要好很多,此时,***运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。
在多重程序***中,大部份时间用来做计算、逻辑判断等CPU动作的程序称之CPUbound。例如一个计算圆周率至小数点一千位以下的程序,在执行的过程当中绝大部份时间用在三角函数和开根号的计算,便是属于CPU bound的程序。
CPU bound的程序一般而言CPU占用率相当高。这可能是因为任务本身不太需要访问I/O设备,也可能是因为程序是多线程实现因此屏蔽掉了等待I/O的时间。
IO密集型指的是***的CPU性能相对硬盘、内存要好很多,此时,***运作,大部分的状况是CPU在等I/O(硬盘/内存)的读/写操作,此时CPU Loading并不高。
I/O bound的程序一般在达到性能极限时,CPU占用率仍然较低。这可能是因为任务本身需要大量I/O操作,而pipeline做得不是很好,没有充分利用处理器能力。
应用使用的语言不同,也需要使用不同的应用负载配比。一般情况下java应用的内存占用会偏高,php&Nodejs这两个语言写的应用对内存要求没那么高,java&Node.Js的CPU和PHP应用的CPU配置比例也可以不同。
应用实例是指实际上运行应用的服务器。服务器可以是物理机,也可以是运行在物理机上的多个虚拟机或容器。
应用实例配置包括当前这个应用跑了几台服务器、每台服务器是几核几G内存、应用列表等信息。
应用的负载情况可以通过统计应用一天的负载值得到,也可以通过结合应用性能监控***获取同时间段内应用接口调用量或用户访问量,计算出调用量增减与***负载的关系,得出每一天时间段内的调用量趋势,数据偏差情况,划分出不同的流量时间段。按不同的时间段计算出各项负载维度的最小值、最大值、平均值、标准差等数据项。本实施例中,应用性能监控***为APM***,通过应用的Agent收集调用量和用户访问量。
应用的评级可以通过应用的重要程度人工进行评级。本实施例中,评级等级从高到低分为A、B、C三级。A级应用的负载配比为30%~40%,B级应用的负载配比为40%~60%,C级应用的负载配比为60%~70%。上述负载配比以及评级也可以通过接入机器学习逐步优化。
应用配置推荐模块通过统计负载数据存储模块中的汇总结果得到应用的数据项,并将数据项与数据项对应的负载配比做计算得到应用的推荐配置项,通过调整推荐配置项得到最佳配置值。本实施例中,数据项包括应用负载的最小值、最大值、平均值、标准差,推荐配置项=数据项/数据项对应的负载配比。数据项对应的负载配比可以通过两种手段得到:1、通过人工经验不断优化;2、找出应用、访问量、负载配比的关系,通过Ai进行控制得到。调整推荐配置项的方法包括在多个推荐配置项中取出数值最大的推荐配置项,向上取整得到最佳配置值。
具体为:
其中,中的表示对a向上取整;公式1右边的Cpu表示应用所占CPU的负载,以CPU个数为单位;公式2右边的Mem表示应用所占内存的负载,以M为单位。例如,应用所占CPU的负载为150%,则CPU的最佳配置值为2,应用所占内存的负载为750M,则内存的最佳配置值为800M。
应用扩缩容模块通过触发条件调用应用配置推荐模块获取应用的最佳配置值并将最佳配置值和当前配置值进行比较得到差比和差值,容器管理模块根据差比和差值重新构建应用实例。本实施例中,触发条件为一周时间应用实际负载占用内存平均高于80%或低于20%或CPU平均值高于70%或低于20%。触发条件可以根据企业的实际情况来定义,可以为其他数值。最佳配置值和当前配置值进行比较得到的差比大于50%且差值大于100M,容器管理模块重新构建应用实例。
差比=abs(最佳配置值-当前配置值)/最佳配置值;
差值=abs(最佳配置值-当前配置值)。
容器管理模块为容器管理端,容器管理端重新按最佳配置值构建新的应用实例,待新的应用实例完成初始化并自动校验业务功能正常后,会逐步下掉旧的应用实例,实现配置的切换。定期的对近期未做配置检查调用的重新计算,如最佳配置值和当前配置值差比和差值不满足触发条件,则不进行扩缩容操作。
如图2所示,本发明提出了一种基于***负载实现的扩缩容配置推荐方法,其包括:
对负载数据进行采集;
汇总所述负载数据;
获取扩缩容推荐配置。
其中,所述方法还包括:
存储所述负载数据接收模块汇总的负载数据。
其中,所述方法还包括:
基于应用实例配置及应用评级得到应用负载配比。
其中,所述方法还包括:
基于获取的扩缩容推荐配置,计算扩缩容差比和差值。
其中,所述方法还包括:
基于所述差比和差值重新构建应用实例。
其中,将负载数据发往消息中间件,定期从所述消息中间件取出负载数据进行汇总并将汇总结果存储。
其中,通过统计所述负载数据存储模块中的汇总结果得到数据项,并将所述数据项与数据项对应的负载配比做计算得到应用的推荐配置项,通过调整所述推荐配置项得到最佳配置值。
其中,通过触发条件获取应用的最佳配置值并将最佳配置值和当前配置值进行比较得到差比和差值。
其中,负载数据包括实体机负载、虚拟机负载、容器负载、容器内进程资源占用负载、应用进程资源占用细分负载。
其中,所述数据项包括负载的最小值、最大值、平均值、标准差。
其中,所述负载数据存储模块为时序数据库。
其中,所述数据项与数据项对应的负载配比计算具体为:推荐配置项=数据项/数据项对应的负载配比。
其中,触发条件为一周时间应用实际负载占用内存平均高于80%或低于20%或CPU平均值高于70%或低于20%。
其中,最佳配置值和当前配置值进行比较得到的差比大于50%且差值大于100M,容器管理模块重新构建应用实例。
其中,调整推荐配置项的方法包括在多个推荐配置项中取出数值最大的推荐配置项,向上取整得到最佳配置值。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (10)

1.一种基于***负载实现的扩缩容配置推荐***,其包括负载采集模块、负载数据接收模块和应用配置推荐模块,其特征在于:
所述负载采集模块,其用于对负载数据进行采集;
所述负载数据接收模块,其用于汇总所述负载数据;
所述应用配置推荐模块,其用于获取扩缩容推荐配置。
2.根据权利要求1所述一种基于***负载实现的扩缩容配置推荐***,所述***还包括:
负载数据存储模块,其用于存储所述负载数据接收模块汇总的负载数据。
3.根据权利要求1所述一种基于***负载实现的扩缩容配置推荐***,所述***还包括:
应用类型评估模块,其用于基于应用实例配置及应用评级得到应用负载配比。
4.根据权利要求1所述一种基于***负载实现的扩缩容配置推荐***,所述***还包括:
应用扩缩容模块,其用于基于获取的扩缩容推荐配置,计算扩缩容差比和差值。
5.根据权利要求4所述一种基于***负载实现的扩缩容配置推荐***,所述***还包括:
容器管理模块,其用于基于所述差比和差值重新构建应用实例。
6.根据权利要求1所述一种基于***负载实现的扩缩容配置推荐***,所述负载数据接收模块还用于将负载数据发往消息中间件,定期从所述消息中间件取出负载数据进行汇总并将汇总结果存入所述负载数据存储模块。
7.根据权利要求4所述一种基于***负载实现的扩缩容配置推荐***,所述应用配置推荐模块具体用于通过统计所述负载数据存储模块中的汇总结果得到数据项,并将所述数据项与数据项对应的负载配比做计算得到应用的推荐配置项,通过调整所述推荐配置项得到最佳配置值。
8.根据权利要求7所述一种基于***负载实现的扩缩容配置推荐***,所述应用扩缩容模块还用于:通过触发条件调用所述应用配置推荐模块获取应用的最佳配置值并将最佳配置值和当前配置值进行比较得到差比和差值。
9.一种基于***负载实现的扩缩容配置推荐方法,其包括:
对负载数据进行采集;
汇总所述负载数据;
获取扩缩容推荐配置。
10.根据权利要求9所述一种基于***负载实现的扩缩容配置推荐方法,所述方法还包括:
负载数据存储模块,其用于存储所述负载数据接收模块汇总的负载数据。
CN201910389923.3A 2019-05-10 2019-05-10 一种基于***负载实现的扩缩容配置推荐***及方法 Active CN110096339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910389923.3A CN110096339B (zh) 2019-05-10 2019-05-10 一种基于***负载实现的扩缩容配置推荐***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910389923.3A CN110096339B (zh) 2019-05-10 2019-05-10 一种基于***负载实现的扩缩容配置推荐***及方法

Publications (2)

Publication Number Publication Date
CN110096339A true CN110096339A (zh) 2019-08-06
CN110096339B CN110096339B (zh) 2020-08-04

Family

ID=67447705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910389923.3A Active CN110096339B (zh) 2019-05-10 2019-05-10 一种基于***负载实现的扩缩容配置推荐***及方法

Country Status (1)

Country Link
CN (1) CN110096339B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382361A (zh) * 2020-03-12 2020-07-07 腾讯科技(深圳)有限公司 信息推送方法、装置、存储介质和计算机设备
CN111625195A (zh) * 2020-05-26 2020-09-04 北京百度网讯科技有限公司 用于服务器扩容的方法及装置
CN112948127A (zh) * 2021-03-30 2021-06-11 北京滴普科技有限公司 云平台容器平均负载监视方法、终端设备及可读存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061543A1 (en) * 2001-09-25 2003-03-27 Satoshi Misaka Computing system construction method under execution environment to be dependent on OS
CN1588318A (zh) * 2004-09-16 2005-03-02 上海交通大学 基于实数编码遗传算法的应用服务器实例池动态配置方法
CN102508693A (zh) * 2011-09-29 2012-06-20 华中科技大学 基于虚拟机的Web服务器扩容***
CN102681899A (zh) * 2011-03-14 2012-09-19 金剑 云计算服务平台的虚拟计算资源动态管理***
CN103023969A (zh) * 2012-11-15 2013-04-03 北京搜狐新媒体信息技术有限公司 一种云平台调度方法及***
CN104317638A (zh) * 2014-10-17 2015-01-28 华为技术有限公司 一种应用伸缩管理方法及装置
CN106161625A (zh) * 2016-07-11 2016-11-23 浪潮(北京)电子信息产业有限公司 一种用于提高虚拟机的云计算资源利用率的方法
CN106557353A (zh) * 2016-11-04 2017-04-05 天津轻工职业技术学院 一种容器承载业务应用的服务器性能指标评价方法
CN109032805A (zh) * 2018-08-06 2018-12-18 深圳乐信软件技术有限公司 一种弹性扩缩容方法、装置、服务器及存储介质
CN109144734A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种容器资源配额分配方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061543A1 (en) * 2001-09-25 2003-03-27 Satoshi Misaka Computing system construction method under execution environment to be dependent on OS
CN1588318A (zh) * 2004-09-16 2005-03-02 上海交通大学 基于实数编码遗传算法的应用服务器实例池动态配置方法
CN102681899A (zh) * 2011-03-14 2012-09-19 金剑 云计算服务平台的虚拟计算资源动态管理***
CN102508693A (zh) * 2011-09-29 2012-06-20 华中科技大学 基于虚拟机的Web服务器扩容***
CN103023969A (zh) * 2012-11-15 2013-04-03 北京搜狐新媒体信息技术有限公司 一种云平台调度方法及***
CN104317638A (zh) * 2014-10-17 2015-01-28 华为技术有限公司 一种应用伸缩管理方法及装置
CN106161625A (zh) * 2016-07-11 2016-11-23 浪潮(北京)电子信息产业有限公司 一种用于提高虚拟机的云计算资源利用率的方法
CN106557353A (zh) * 2016-11-04 2017-04-05 天津轻工职业技术学院 一种容器承载业务应用的服务器性能指标评价方法
CN109032805A (zh) * 2018-08-06 2018-12-18 深圳乐信软件技术有限公司 一种弹性扩缩容方法、装置、服务器及存储介质
CN109144734A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种容器资源配额分配方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382361A (zh) * 2020-03-12 2020-07-07 腾讯科技(深圳)有限公司 信息推送方法、装置、存储介质和计算机设备
CN111382361B (zh) * 2020-03-12 2023-05-02 腾讯科技(深圳)有限公司 信息推送方法、装置、存储介质和计算机设备
CN111625195A (zh) * 2020-05-26 2020-09-04 北京百度网讯科技有限公司 用于服务器扩容的方法及装置
CN111625195B (zh) * 2020-05-26 2023-11-07 北京百度网讯科技有限公司 用于服务器扩容的方法及装置
CN112948127A (zh) * 2021-03-30 2021-06-11 北京滴普科技有限公司 云平台容器平均负载监视方法、终端设备及可读存储介质
CN112948127B (zh) * 2021-03-30 2023-11-10 北京滴普科技有限公司 云平台容器平均负载监视方法、终端设备及可读存储介质

Also Published As

Publication number Publication date
CN110096339B (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN107038069B (zh) Hadoop平台下动态标签匹配DLMS调度方法
CN105808334B (zh) 一种基于资源重用的MapReduce短作业优化***及方法
US9451013B1 (en) Providing instance availability information
CN112955870A (zh) 承诺感知调度器
CN109491790A (zh) 基于容器的工业物联网边缘计算资源分配方法及***
CN108304250A (zh) 用于确定运行机器学习任务的节点的方法和装置
TWI725744B (zh) 透過多層次相關性建立系統資源預測及資源管理模型的方法
CN110096339A (zh) 一种基于***负载实现的扩缩容配置推荐***及方法
CN109684074A (zh) 物理机资源分配方法及终端设备
CN109992422A (zh) 一种面向gpu资源的任务调度方法、装置和***
CN110888714A (zh) 容器的调度方法、装置和计算机可读存储介质
CN104536804A (zh) 面向关联任务请求的虚拟资源调度***及调度和分配方法
CN103780655A (zh) 一种消息传递接口任务和资源调度***及方法
US11972301B2 (en) Allocating computing resources for deferrable virtual machines
CN104735095A (zh) 一种云计算平台作业调度方法及装置
US9306814B1 (en) Providing instance availability information
CN107870763A (zh) 用于创建海量数据实时分拣***的方法及其装置
CN110245021A (zh) 移动终端的内存管理方法、***、电子设备及存储介质
CN109873714A (zh) 云计算节点配置更新方法及终端设备
CN107122235B (zh) 基于应用优先级的公共基础设施资源调度方法
Saxena et al. Workload forecasting and resource management models based on machine learning for cloud computing environments
WO2020206699A1 (en) Predicting virtual machine allocation failures on server node clusters
US8548881B1 (en) Credit optimization to minimize latency
CN106844175B (zh) 一种基于机器学***台容量规划方法
CN106130757B (zh) 信息获取方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant