CN106708621B - 一种获得应用集群容量的方法和装置 - Google Patents

一种获得应用集群容量的方法和装置 Download PDF

Info

Publication number
CN106708621B
CN106708621B CN201510784781.2A CN201510784781A CN106708621B CN 106708621 B CN106708621 B CN 106708621B CN 201510784781 A CN201510784781 A CN 201510784781A CN 106708621 B CN106708621 B CN 106708621B
Authority
CN
China
Prior art keywords
capacity
application cluster
application
cluster
machine
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.)
Active
Application number
CN201510784781.2A
Other languages
English (en)
Other versions
CN106708621A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510784781.2A priority Critical patent/CN106708621B/zh
Priority to US15/769,050 priority patent/US11231947B2/en
Priority to PCT/CN2016/104837 priority patent/WO2017084505A1/zh
Publication of CN106708621A publication Critical patent/CN106708621A/zh
Application granted granted Critical
Publication of CN106708621B publication Critical patent/CN106708621B/zh
Priority to US17/572,736 priority patent/US20220129288A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • 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/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

Abstract

本申请实施例提供了一种获得应用集群容量的方法和装置,其中的方法具体包括:设置仿真的待测试的应用集群,所述应用集群包括至少两个测试机器;对所述应用集群的测试机器进行整体压测,获得所述测试机器的平均单机能力;根据所述应用集群的压力总值及所述测试机器的平均单机能力,计算获得所述应用集群的容量。本申请实施例通过设置仿真的待测试的应用集群,并对整个仿真的应用集群的多个测试机器进行整体压测,可以获得更准确更真实的平均单机能力,进而可以获得更准确的应用集群的容量。

Description

一种获得应用集群容量的方法和装置
技术领域
本申请涉及计算机技术领域,特别是涉及一种获得应用集群容量的方法和一种获得应用集群容量的装置。
背景技术
在确定各个应用的容量配比时,需要首先计算各应用集群的容量,其中,容量是应用集群所需要的资源实例数(或机器数)。目前,计算应用集群的容量大多是采用人工估算或单机压测的方法。
其中,人工估算法是首先预估应用集群要达到的能力或者承受的压力总值,以及单机的能力,然后用预期要达到的能力(或预估的压力总值)除以预估单机能力,获得应用集群的整体容量。在按照该方法求出所有应用的容量后,即可进行各应用的容量配比计算。
单机压测的方法时使用压测工具对单个机器进行测试,得到该单个机器的单机能力,然后用与其要达到的能力除以该单机压测获得的单机能力,获得应用集群的整体容量。
然后,上述两种方法得出的单机能力会受各种外围因素影响,得出的值可信度不够,进而会影响应用集群的整体容量的准确度。如在进行某应用的单机压测时,当前VM(Virtual Manufacturing)所在的宿主机的其它VM资源使用空闲,这样的话会导致单机能力估算过多的问题,然后用预期能力求应用的总体容量时,会存在数据偏差过大。另外,大促的业务流量模型与常态的业务流量模型差别也比较大,也是影响容量估算不准的一个因素。
发明内容
本申请实施例的发明目的在于提供一种获得应用集群容量的方法,能够提高应用集群的整体容量的准确度。
相应的,本申请实施例还提供了一种获得应用集群容量的装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请公开了一种获得应用集群容量的方法,包括:
设置仿真的待测试的应用集群,所述应用集群包括至少两个测试机器;
对所述应用集群的测试机器进行整体压测,获得所述测试机器的平均单机能力;
根据所述应用集群的压力总值及所述测试机器的平均单机能力,计算获得所述应用集群的容量。
优选的,所述对所述应用集群的测试机器进行整体压测,获得所述测试机器的平均单机能力,包括:
按照预设的初始压力值对所述应用集群的测试机器进行整体压测;
调节压力值;
当所述压力值达到触发所述应用集群的限流阈值的压力值以内的最大值时,获得所述测试机器的平均单机能力。
优选的,所述调节压力值包括:
当所述初始压力值触发所述应用集群的限流阈值时,按照预设步长减小压力值。
优选的,所述获得所述测试机器的平均单机能力,包括:
当应用集群的负载能力达到弹性伸缩的缩容阈值时,对所述应用集群进行缩容;
当所述应用集群缩容至所述应用集群的负载能力达到所述弹性伸缩的扩容阈值时,将所述应用集群的所述测试机器的每秒平均请求数作为所述测试机器的平均单机能力。
优选的,所述对所述应用集群进行缩容,包括:
按照预设的缩容比例对所述应用集群进行逐步缩容。
优选的,所述方法还包括:
在获取所有应用集群的容量后,计算单个应用集群在所有应用集群中的容量配比。
优选的,所述方法还包括:
根据计划应用集群的承受能力调节所述应用集群的容量。
优选的,所述根据计划应用集群的承受能力调节所述应用集群的容量,包括:
根据所述计划应用集群的承受能力与所述应用集群的压力总值之间的比值调节所述应用集群的容量。
优选的,在所述应用集群的数量为1时,所述应用集群包括:至少两个测试机器,在所述应用集群的数量大于1时,其中的单个应用集群包括:至少一个测试机器。
本申请实施例还公开了一种获得应用集群容量的装置,包括:
仿真单元,被配置为设置仿真的待测试的应用集群,所述应用集群包括至少两个测试机器;
压测单元,被配置为对所述应用集群的测试机器进行整体压测,获得所述测试机器的平均单机能力;
容量计算单元,被配置为根据所述应用集群的压力总值及所述测试机器的平均单机能力,计算获得所述应用集群的容量。
优选的,所述压测单元包括:
初始化子单元,被配置为按照预设的初始压力值对所述应用集群的测试机器进行整体压测;
调节子单元,被配置为调节压力值;
获取子单元,当所述压力值达到触发所述应用集群的限流阈值的压力值以内的最大值时,获得所述测试机器的平均单机能力。
优选的,所述获取子单元包括:
缩容子单元,被配置为当应用集群的负载能力达到弹性伸缩的缩容阈值时,对所述应用集群进行缩容;
确定子单元,被配置为当所述应用集群缩容至所述应用集群的负载能力达到所述弹性伸缩的扩容阈值时,将所述应用集群的所述测试机器的每秒平均请求数作为所述测试机器的平均单机能力。
优选的,所述装置还包括:
容量调节单元,被配置为根据计划应用集群的承受能力调节所述应用集群的容量。
与现有技术相比,本申请实施例包括以下优点:
本申请实施例通过设置仿真的待测试的应用集群,并对整个仿真的应用集群的多个测试机器进行整体压测,可以获得更准确更真实的平均单机能力,进而可以获得更准确的应用集群的容量。
附图说明
图1是本申请的一种获得应用集群容量的方法实施例的步骤流程图;
图2是本申请中一种对待测试的应用集群的测试机器进行整体压测,获得测试机器的平均单机能力的方法实施例的步骤流程图;
图3是本申请中一种获得测试机器的平均单机能力方法实施例的步骤流程图;
图4是本申请的另一种获得应用集群容量的方法实施例的步骤流程图;
图5是本申请的一种获得应用集群容量的装置实施例的结构框图;
图6是本申请中一种压测单元的结构框图;
图7是本申请中一种获取子单元的结构框图;
图8是本申请的另一种获得应用集群容量的装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种获得应用集群容量的方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,设置仿真的待测试的应用集群,该应用集群可以包括至少两个测试机器。
本申请实施例中,首先准备好测算多个应用集群容量配比的环境,并从中确定需要进行容量测算的应用集群,该应用集群可能是一个也可能是多个;其中,在所述应用集群的数量为1时,所述应用集群具体可以包括:至少两个测试机器,在所述应用集群的数量大于1时,其中的单个应用集群具体可以包括:至少一个测试机器。用于获得应用集群容量的装置(以下简称装置)在本步骤中首先按照确定出的需要进行容量测算的应用集群对应设置出仿真环境,也即设置出与需要进行容量测算的应用集群完全相同的应用集群。该装置设置出的仿真环境与实际应用集群的区别可以是该仿真环境下的应用集群不能对外提供访问,只用来进行容量测算。
步骤102,对应用集群的测试机器进行整体压测,获得测试机器的平均单机能力。
在确定出仿真的待测试的应用集群后,对该应用集群的测试机器进行整体压测。压测是对线上流量的仿真压力,具体的可以使用压测工具对加压在该应用集群测试机器上的流量进行调控,该整体压测过程同时针对应用集群下的多个测试机器,而且,该方式可以涉及到多个应用集群的协同压测,多个应用集群之间存在调用关系,压测的流量也是仿真线上的真实流量,这样整体压测比单机压测更接近真实。
在整体压测的过程中,本实施例可以直接获得应用集群下多个测试机器的极限能力,然后通过均值计算获得测试机器的平均单机能力。也可以是在压测的过程中引入弹性平台对应用集群的测试机器进行扩容或缩容,进而获得测试机器的平均单机能力,具体请参见后续实施例的描述。
步骤103,根据应用集群的压力总值及测试机器的平均单机能力,计算获得应用集群的容量。
在获得测试机器的单机能力后,即可根据预估的或预设的应用集群的压力总值及测试机器的平均单机能力,计算获得应用集群的容量。具体可以是用应用集群的压力总值除以测试机器的平均单机能力,得到应用集群的容量。其中,应用集群的压力总值可以是预先设定的,也可以是按照现有方法预估的,此处不做具体限定。该压力总值的获得可以分两种情况:1、有预设目标值的情况:如这次目标是12W,就照着12W进行压测;2、不估算目标压力值的情况,主要是测算现有的总机器资源能够承受多大的压力。
在按照上述方法获得多个应用集群的容量后,即可进一步调节多个应用集群的容量配比。结合弹性平台后,弹性平台对各个应用集群的容量会作配比调整,在有限的机器资源条件下,多则减,少则扩,最后多个应用集群会被弹性平台调整为一个适合当前压力的容量配比。
本申请实施例通过设置仿真的待测试的应用集群,并对整个仿真的应用集群的多个测试机器进行整体压测,可以获得更准确更真实的平均单机能力,进而可以获得更准确的应用集群的容量。
在本申请的另一实施例中,对应用集群的测试机器进行整体压测,获得测试机器的平均单机能力的过程,如图2所示,可以包括:
步骤201,按照预设的初始压力值对应用集群的测试机器进行整体压测。
在本步骤中,可以使用压测工具,按照预设的如用户指定的初始压力值对仿真的待测试的应用集群的测试机器进行整体压测。
步骤202,调节压力值。
如果该初始压力值过小,远没有触发应用集群的限流阈值,则可以逐渐增大该压力值,具体可以按照预设的步长逐渐增大压力值。若该初始压力值设置过大,触发了应用集群的限流阈值,则需要降低该压力值。在降低该压力值时,压测工具可以按照预设的步长逐渐减小压力值。
其中,该应用集群的限流阈值是根据预估的该应用集群的极限受压能力设置的。超过该限流阈值,则说明该应用集群已经达到受压能力的极限。
通过压测工具调节压力值,可以使得压力回稳,既不会使应用集群发生限流迹象,也不会使压力过小。
步骤203,当压力值达到触发应用集群的限流阈值的压力值以内的最大值时,获得测试机器的平均单机能力。
当压测工具调节的压力值达到触发应用集群的限流阈值的压力值以内的最大值时,即可获得测试机器的平均单机能力。
该获得测试机器的平均单机能力的方式有多种,例如:
方式一:根据压力值的最大值计算。
在获得上述压力值的最大值后,根据压力值最大值与应用集群包含的测试机器的数量之间的比值,即可获得测试机器的平均单机能力。
方式二:
本方式中,获得测试机器的平均单机能力的过程,如图3所示,可以包括:
步骤301,当应用集群的负载能力达到弹性伸缩的缩容阈值时,对应用集群进行缩容。
本实施例中,弹性伸缩为根据线上应用集群的负载,动态调整应用集群规模的一种机制,该机制不仅可减低成本,而且能够提升线上应用集群的稳定性。在本申请的一种应用示例中,可通过弹性平台来实现上述弹性伸缩;具体地,当压力值达到触发应用集群的限流阈值的压力值以内的最大值时,可以触发启动弹性平台,该弹性平台可以根据线上应用集群的负载,动态调整应用集群的容量。
具体的,弹性平台会监测应用集群的负载能力,并设置有负载的缩容阈值和扩容阈值(扩容阀值=限流阀值),当应用集群的负载能力达到缩容阈值时,此时需要对应用集群进行缩容,减小应用集群的规模,当应用集群的负载能力达到扩容阈值时需要扩容,增大应用集群的规模。例如,可以设置CPU负载80%为缩容阈值,CPU负载90%为扩容阈值。
本步骤中,当监测到应用集群的负载能力达到弹性平台的缩容阈值时,该装置对应用集群进行缩容,具体可以按照预设的缩容比例对应用集群进行逐步缩容。
步骤302,当应用集群缩容至应用集群的负载能力达到上述弹性伸缩的扩容阈值时,将应用集群的测试机器的每秒平均请求数作为测试机器的平均单机能力。
在缩容后,应用集群的负载能力必然会增大,当监测到应用集群缩容至应用集群的负载能力达到弹性平台的扩容阈值时,即可将此时应用集群的测试机器的每秒平均请求数作为测试机器的平均单机能力。
由此可见,该装置利用弹性伸缩可以根据线上应用集群的负载,动态调整应用集群的容量,不仅可减低成本,并能提升线上应用集群稳定性。
在利用上述方法获得测试机器的平均单机能力后,即可执行前述步骤103计算获得应用集群的容量。
在本申请的另一实施例中,如图4所示,该获得应用集群容量的方法还可以包括:
步骤401,根据计划应用集群的承受能力调节应用集群的容量。
本实施例可以应用于大促前的容量准备,当预先计划了应用集群的承受能力时,可以再根据该计划应用集群的承受能力对应用集群的容量进行调节。
具体的,可以根据计划应用集群的承受能力(P)与应用集群的压力总值(L)之间的比值调节应用集群的容量,得到应用集群的线上环境容量。
如,可以按照如下公式计算应用集群的线上环境容量=(P/L)*已获得的应用集群的容量。
该调节过程可以实现应用集群自动化完成大促容量准备。
在本申请的一种可选实施例中,所述方法还可以包括:在获取所有应用集群的容量后,计算单个应用集群在所有应用集群中的容量配比。假设应用集群的数量为100,则可以分别计算单个应用集群的容量相对于所有应用集群的容量的比例,以得到相应的容量配比。这样,在计划应用集群的实际容量不能满足线上环境容量需求时,可以按照上述容量配比进行单个应用集群的容量的准备。例如,按照上述公式计算得到第i个应用集群的线上环境容量Ci,进一步计算得到所有应用集群的线上环境容量C,则可以基于C进行容量准备;假设准备得到的计划应用集群的实际容量R小于C,则可以在R和上述容量配比的基础上进行单个应用集群的容量的分配。
为使本领域技术人员更好地理解本申请实施例,在此给出本申请的一种获得应用集群容量的方法示例,该示例具体可以包括如下步骤:
步骤S1、选定待测试的测试机器,并将上述测试机器放置到隔离出来的仿真环境,并且,在上述仿真环境中,可以按照预置比例对上述测试机器进行分组,得到的压测分组可以与应用集群一一兑现。
步骤S2、使用压测工具,按照预置的初始压力值n,,对压测分组中的应用集群进行整体压测;
步骤S3、在该初始压力值设置过大导致触发了应用集群的限流阈值的情况下,通过压测工具可以按照预设的步长逐渐减小压力值;其中,该预设的步长可以是s%,本申请实施例对于预设的步长的具体数值不加以限制;
步骤S4、在当前压力值达到触发应用集群的限流阈值的压力值以内的最大值时,启动弹性平台进行应用集群的容量调节;
步骤S5、通过弹性平台监测应用集群的负载能力,并设置负载能力的缩容阈值和扩容阈值(扩容阀值=限流阀值),在应用集群都未触发扩容阈值的情况下,可以对应用集群进行缩容,减小应用集群的规模;当某个应用集群缩容到一定比例时,负载必定会达到弹性平台的扩容阀值可以将该应用集群的平均单机的gps(每秒请求数,Query Per Second)作为该应用集群的平均单机能力,直到获取所有应用集群的平均单机能力;
上述负载具体可以包括:CPU、请求RT(响应时间,Response Time)以CPU为例,可以设置80%为其缩容阈值、90%为其扩容阈值。
步骤S6、由于弹性平台的扩容阀值与限流阀值相同,因为缩容的步长值可能会超出扩容阀值的几个百分点,为了精确计算应用集群的容量,可以通过扩容对上述平均单机能力进行微调,扩容数量=当前应用集群接受的压力总量/平均单机能力;在完成所有应用集群的微调后,得到应用集群的当前容量、单个应用集群的容量配比和当前的压测流量L;
步骤S7、进行大促容量准备,具体地,可以根据计划应用集群的承受能力(P)与应用集群的压力总值(L)之间的比值调节应用集群的容量,得到应用集群的线上环境容量;
步骤S8、根据上述应用集群的线上环境容量,逐个准备应用程序的容量,多则缩,少则扩,全程自动化完成大促容量准备;其中,计划应用集群的实际容量不能满足线上环境容量需求时,可以按照上述容量配比进行单个应用集群的容量的准备。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图5,示出了本申请一种获得应用集群容量装置实施例的结构框图,具体可以包括如下单元:
仿真单元501,被配置设置仿真的待测试的应用集群,所述应用集群包括至少两个测试机器。
压测单元502,被配置为对所述应用集群的测试机器进行整体压测,获得所述测试机器的平均单机能力。
容量计算单元503,被配置为根据所述应用集群的压力总值及所述测试机器的平均单机能力,计算获得所述应用集群的容量。
本申请实施例中,该装置通过上述单元设置仿真的待测试的应用集群,并对整个仿真的应用集群的多个测试机器进行整体压测,可以获得更准确更真实的平均单机能力,进而可以获得更准确的应用集群的容量。
在另一实施例中,如图6所示,压测单元502具体可以包括:
初始化子单元601,被配置为按照预设的初始压力值对所述应用集群的测试机器进行整体压测。
调节子单元602,被配置为调节压力值。
获取子单元603,当所述压力值达到触发所述应用集群的限流阈值的压力值以内的最大值时,获得所述测试机器的平均单机能力。
其中,调节子单元602,具体可以被配置为当所述初始压力值触发所述应用集群的限流阈值时,按照预设步长减小压力值。
在另一实施例中,如图7所示,获取子单元603又可以进一步包括:
缩容子单元701,被配置为当应用集群的负载能力达到弹性伸缩的缩容阈值时,对所述应用集群进行缩容。
确定子单元702,被配置为当所述应用集群缩容至所述应用集群的负载能力达到所述弹性伸缩的扩容阈值时,将所述应用集群的所述测试机器的每秒平均请求数作为所述测试机器的平均单机能力。
其中,缩容子单元701,具体可以被配置为按照预设的缩容比例对所述应用集群进行逐步缩容。
在另一实施例中,如图8所示,该装置还可以包括:
容量调节单元801,被配置为根据计划应用集群的承受能力调节所述应用集群的容量。
该容量调节单元801,具体可以被配置为根据所述计划应用集群的承受能力与所述应用集群的压力总值之间的比值调节所述应用集群的容量。
本申请实施例还提供了一种电子设备,包括存储器和处理器。
处理器与存储器通过总线相互连接;总线可以是ISA(工业标准结构,IndustryStandard Architecture)总线、PCI(外部设备互联,Peripheral ComponentInterconnect)总线或EISA(扩展工业标准结构,Extended Industry StandardArchitecture)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
其中,存储器用于存储一段程序,具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器用于读取存储器中的程序代码,执行以下步骤:
设置仿真的待测试的应用集群,所述应用集群中包括至少两个测试机器;
对所述应用集群的测试机器进行整体压测,获得所述测试机器的平均单机能力;
根据所述应用集群的压力总值及所述测试机器的平均单机能力,计算获得所述应用集群的容量。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种获得应用集群容量的方法和一种获得应用集群容量的装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (13)

1.一种获得应用集群容量的方法,其特征在于,包括:
设置仿真的待测试的应用集群,所述应用集群包括至少两个测试机器;
对所述应用集群的测试机器进行整体压测,获得所述测试机器的平均单机能力;
根据所述应用集群的压力总值及所述测试机器的平均单机能力,计算获得所述应用集群的容量;
其中,所述整体压测利用压测工具对加压在所述应用集群的测试机器上的流量进行调控,所述获得所述测试机器的平均单机能力,包括:
在整体压测过程中,确定所述应用集群的多个测试机器的极限能力;依据所述极限能力,确定所述测试机器的平均单机能力;和/或
在整体压测过程中,利用弹性平台对所述应用集群的测试机器进行扩容或缩容,以得到所述测试机器的平均单机能力。
2.根据权利要求1所述的方法,其特征在于,所述对所述应用集群的测试机器进行整体压测,获得所述测试机器的平均单机能力,包括:
按照预设的初始压力值对所述应用集群的测试机器进行整体压测;
调节压力值;
当所述压力值达到触发所述应用集群的限流阈值的压力值以内的最大值时,获得所述测试机器的平均单机能力。
3.根据权利要求2所述的方法,其特征在于,所述调节压力值包括:
当所述初始压力值触发所述应用集群的限流阈值时,按照预设步长减小压力值。
4.根据权利要求2所述的方法,其特征在于,所述获得所述测试机器的平均单机能力,包括:
当应用集群的负载能力达到弹性伸缩的缩容阈值时,对所述应用集群进行缩容;
当所述应用集群缩容至所述应用集群的负载能力达到所述弹性伸缩的扩容阈值时,将所述应用集群的所述测试机器的每秒平均请求数作为所述测试机器的平均单机能力。
5.根据权利要求4所述的方法,其特征在于,所述对所述应用集群进行缩容,包括:
按照预设的缩容比例对所述应用集群进行逐步缩容。
6.根据权利要求1至5中任一所述的方法,其特征在于,所述方法还包括:
在获取所有应用集群的容量后,计算单个应用集群在所有应用集群中的容量配比。
7.根据权利要求1至5中任一所述的方法,其特征在于,所述方法还包括:
根据计划应用集群的承受能力调节所述应用集群的容量。
8.根据权利要求7所述的方法,其特征在于,所述根据计划应用集群的承受能力调节所述应用集群的容量,包括:
根据所述计划应用集群的承受能力与所述应用集群的压力总值之间的比值调节所述应用集群的容量。
9.根据权利要求1至5中任一所述的方法,其特征在于,在所述应用集群的数量为1时,所述应用集群包括:至少两个测试机器,在所述应用集群的数量大于1时,其中的单个应用集群包括:至少一个测试机器。
10.一种获得应用集群容量的装置,其特征在于,包括:
仿真单元,被配置为设置仿真的待测试的应用集群,所述应用集群包括至少两个测试机器;
压测单元,被配置为对所述应用集群的测试机器进行整体压测,获得所述测试机器的平均单机能力;
容量计算单元,被配置为根据所述应用集群的压力总值及所述测试机器的平均单机能力,计算获得所述应用集群的容量;
其中,所述整体压测利用压测工具对加压在所述应用集群的测试机器上的流量进行调控,所述压测单元,包括:
第一压测单元,用于在整体压测过程中,确定所述应用集群的多个测试机器的极限能力;依据所述极限能力,确定所述测试机器的平均单机能力;和/或
第二压测单元,用于在整体压测过程中,利用弹性平台对所述应用集群的测试机器进行扩容或缩容,以得到所述测试机器的平均单机能力。
11.根据权利要求10所述的装置,其特征在于,所述压测单元包括:
初始化子单元,被配置为按照预设的初始压力值对所述应用集群的测试机器进行整体压测;
调节子单元,被配置为调节压力值;
获取子单元,当所述压力值达到触发所述应用集群的限流阈值的压力值以内的最大值时,获得所述测试机器的平均单机能力。
12.根据权利要求11所述的装置,其特征在于,所述获取子单元包括:
缩容子单元,被配置为当应用集群的负载能力达到弹性伸缩的缩容阈值时,对所述应用集群进行缩容;
确定子单元,被配置为当所述应用集群缩容至所述应用集群的负载能力达到所述弹性伸缩的扩容阈值时,将所述应用集群的所述测试机器的每秒平均请求数作为所述测试机器的平均单机能力。
13.根据权利要求10至12中任一所述的装置,其特征在于,所述装置还包括:
容量调节单元,被配置为根据计划应用集群的承受能力调节所述应用集群的容量。
CN201510784781.2A 2015-11-16 2015-11-16 一种获得应用集群容量的方法和装置 Active CN106708621B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510784781.2A CN106708621B (zh) 2015-11-16 2015-11-16 一种获得应用集群容量的方法和装置
US15/769,050 US11231947B2 (en) 2015-11-16 2016-11-07 Method and apparatus for determining the capacity of an application cluster
PCT/CN2016/104837 WO2017084505A1 (zh) 2015-11-16 2016-11-07 一种获得应用集群容量的方法和装置
US17/572,736 US20220129288A1 (en) 2015-11-16 2022-01-11 Method and apparatus for determining the capacity of an application cluster

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510784781.2A CN106708621B (zh) 2015-11-16 2015-11-16 一种获得应用集群容量的方法和装置

Publications (2)

Publication Number Publication Date
CN106708621A CN106708621A (zh) 2017-05-24
CN106708621B true CN106708621B (zh) 2020-10-27

Family

ID=58717323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510784781.2A Active CN106708621B (zh) 2015-11-16 2015-11-16 一种获得应用集群容量的方法和装置

Country Status (3)

Country Link
US (2) US11231947B2 (zh)
CN (1) CN106708621B (zh)
WO (1) WO2017084505A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669668B (zh) * 2017-10-17 2020-11-24 北京京东尚科信息技术有限公司 一种系统性能测试中实现模拟交易执行的方法和装置
CN110321270A (zh) * 2018-03-29 2019-10-11 广东神马搜索科技有限公司 单机性能测试方法、装置及服务器
CN110008030B (zh) * 2019-04-16 2020-06-19 苏州浪潮智能科技有限公司 一种元数据访问的方法、系统及设备
CN110311810A (zh) * 2019-06-13 2019-10-08 北京奇艺世纪科技有限公司 一种服务器资源配置方法、装置、电子设备及存储介质
CN111400049A (zh) * 2020-03-26 2020-07-10 北京搜房科技发展有限公司 资源调整方法及装置
US20210319151A1 (en) * 2020-04-14 2021-10-14 Citrix Systems, Inc. Systems and Methods for Production Load Simulation
CN112363926A (zh) * 2020-11-10 2021-02-12 平安普惠企业管理有限公司 生产环境容量检测方法、装置、计算机设备及存储介质
CN112506751B (zh) * 2020-11-27 2022-11-18 浪潮电子信息产业股份有限公司 一种服务器整机性能的对比测试方法、装置、设备及介质
CN113703913B (zh) * 2021-08-06 2024-04-23 长江存储科技有限责任公司 设备测试方法及装置
CN113656299B (zh) * 2021-08-12 2023-08-22 北京百度网讯科技有限公司 极限qps的确定方法、装置、电子设备及可读存储介质
CN113923216B (zh) * 2021-09-29 2023-12-15 阿里巴巴(中国)有限公司 一种分布式集群限流系统及方法和分布式集群节点

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571288B1 (en) * 1999-04-26 2003-05-27 Hewlett-Packard Company Apparatus and method that empirically measures capacity of multiple servers and forwards relative weights to load balancer
CN101211311A (zh) * 2006-12-25 2008-07-02 中国电信股份有限公司 应用软件在生产环境下的性能预测方法
CN102394799A (zh) * 2011-11-29 2012-03-28 山东中创软件工程股份有限公司 一种应用服务器集群效率测试方法及系统
CN102411515A (zh) * 2011-07-29 2012-04-11 国网信息通信有限公司 一种服务器容量估算的方法和系统
CN102646062A (zh) * 2012-03-20 2012-08-22 广东电子工业研究院有限公司 一种云计算平台应用集群弹性扩容方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675739A (en) 1995-02-03 1997-10-07 International Business Machines Corporation Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types
US6505249B1 (en) * 1999-12-28 2003-01-07 Bellsouth Intellectual Property Corporation Method for optimizing end-to-end processing performance by selecting optimal values after running benchmarks repeatedly with different values
US6898564B1 (en) * 2000-05-23 2005-05-24 Microsoft Corporation Load simulation tool for server resource capacity planning
US6865527B2 (en) 2000-12-18 2005-03-08 Hewlett-Packard Development Company, L.P. Method and apparatus for computing data storage assignments
US8104041B2 (en) 2006-04-24 2012-01-24 Hewlett-Packard Development Company, L.P. Computer workload redistribution based on prediction from analysis of local resource utilization chronology data
US8433749B2 (en) 2009-04-15 2013-04-30 Accenture Global Services Limited Method and system for client-side scaling of web server farm architectures in a cloud data center
US9448824B1 (en) 2010-12-28 2016-09-20 Amazon Technologies, Inc. Capacity availability aware auto scaling
US8997107B2 (en) 2011-06-28 2015-03-31 Microsoft Technology Licensing, Llc Elastic scaling for cloud-hosted batch applications
US8856797B1 (en) 2011-10-05 2014-10-07 Amazon Technologies, Inc. Reactive auto-scaling of capacity
US20130185729A1 (en) 2012-01-13 2013-07-18 Rutgers, The State University Of New Jersey Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures
US9817699B2 (en) 2013-03-13 2017-11-14 Elasticbox Inc. Adaptive autoscaling for virtualized applications
US10552745B2 (en) 2013-10-18 2020-02-04 Netflix, Inc. Predictive auto scaling engine
US9612876B2 (en) 2013-12-19 2017-04-04 Xerox Corporation Method and apparatus for estimating a completion time for mapreduce jobs
US11474874B2 (en) 2014-08-14 2022-10-18 Qubole, Inc. Systems and methods for auto-scaling a big data system
CN104182288A (zh) * 2014-08-18 2014-12-03 浪潮电子信息产业股份有限公司 一种服务器集群系统功耗自动化测试的方法
US9547534B2 (en) 2014-10-10 2017-01-17 International Business Machines Corporation Autoscaling applications in shared cloud resources
US9513935B2 (en) 2014-10-28 2016-12-06 International Business Machines Corporation Auto-scaling thresholds in elastic computing environments
CN104794058B (zh) * 2015-05-07 2017-10-10 合肥中科云巢科技有限公司 一种云桌面虚拟环境性能的测试方法
US9626295B2 (en) 2015-07-23 2017-04-18 Qualcomm Incorporated Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571288B1 (en) * 1999-04-26 2003-05-27 Hewlett-Packard Company Apparatus and method that empirically measures capacity of multiple servers and forwards relative weights to load balancer
CN101211311A (zh) * 2006-12-25 2008-07-02 中国电信股份有限公司 应用软件在生产环境下的性能预测方法
CN102411515A (zh) * 2011-07-29 2012-04-11 国网信息通信有限公司 一种服务器容量估算的方法和系统
CN102394799A (zh) * 2011-11-29 2012-03-28 山东中创软件工程股份有限公司 一种应用服务器集群效率测试方法及系统
CN102646062A (zh) * 2012-03-20 2012-08-22 广东电子工业研究院有限公司 一种云计算平台应用集群弹性扩容方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云计算业务平台的虚拟机容量规划研究;周振勇;《电信网技术》;20130531;32-37 *
基于LVS集群的动态负载均衡策略的研究与实现;杜中韩;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131115;I137-75 *

Also Published As

Publication number Publication date
US20190065222A1 (en) 2019-02-28
US11231947B2 (en) 2022-01-25
US20220129288A1 (en) 2022-04-28
WO2017084505A1 (zh) 2017-05-26
CN106708621A (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
CN106708621B (zh) 一种获得应用集群容量的方法和装置
US20180253506A1 (en) Data write-in method and apparatus in a distributed file system
US9552230B2 (en) Apparatus and method for allocating a task based on measured and estimated core usage
TWI755415B (zh) 雲端環境下應用集群資源分配的方法、裝置和系統
JP6991983B2 (ja) 機械学習システムをトレーニングする方法及びシステム
CN108205469B (zh) 一种基于MapReduce的资源分配方法及服务器
CN106469018B (zh) 分布式存储系统的负载监控方法及设备
WO2021169386A1 (zh) 一种图数据处理方法、装置、设备、介质
CN109739627B (zh) 任务的调度方法、电子设备及介质
CN115827253B (zh) 一种芯片资源算力分配方法、装置、设备及存储介质
CN114356577A (zh) 一种系统容量预估方法以及装置
CN107291551B (zh) 一种容器的负载均衡调度方法和装置
JP2019060901A (ja) 構造体の余寿命を推定する方法
CN107220165B (zh) 一种模拟线上压力测试的方法和装置
CN109254904B (zh) 一种数据库压测方法、装置及电子设备
EP2960796B1 (en) System and method of non-intrusive measurement of memory access profiles of threads in a multi-core processor
CN109783221B (zh) 一种虚拟机资源分配方法、装置及资源服务器
CN108040250B (zh) 一种智能电视性能的评估方法和装置
CN115757066A (zh) 硬盘性能测试方法、装置、设备、存储介质和程序产品
TWI763650B (zh) 一種獲得應用集群容量的方法和裝置
CN111052038A (zh) 功率系统中的可编程imon准确度
CN110008112B (zh) 模型训练方法和装置、业务测试方法和装置
CN101470660A (zh) 通过子系统效能基准发生器进行系统测试的方法
CN108255586B (zh) 功能服务的排序方法及装置
TWI774529B (zh) 雲化系統效能評估方法及系統

Legal Events

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