CN107395447A - 模块检测方法、系统容量预估方法及相应的设备 - Google Patents
模块检测方法、系统容量预估方法及相应的设备 Download PDFInfo
- Publication number
- CN107395447A CN107395447A CN201710138693.4A CN201710138693A CN107395447A CN 107395447 A CN107395447 A CN 107395447A CN 201710138693 A CN201710138693 A CN 201710138693A CN 107395447 A CN107395447 A CN 107395447A
- Authority
- CN
- China
- Prior art keywords
- module
- capacity
- modules
- test
- disparate modules
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请的一个目的是提供一种模块检测方法、系统容量预估方法及相应的设备,用以解决现有技术中对模块重要程度检测的资源耗费大、容量预估不便的问题。具体地,本申请的模块检测方法仅需要对系统中的各个不同模块进行一定时长的压力测试,而无需进行长时间的整体压力测试,并且通过特定算法得到用于表示模块重要程度的核心度评分值,进而确定模块的重要程度,由此,减少检测过程中的资源消耗,降低成本。此外,根据实际容量测试的结果,结合模块检测确定的模块重要程度以及在实际网络中对容量预估存在实际影响的因素,能够较为方便、准确地估算出系统的整体容量,提高容量预估的效率。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种模块检测方法、基于所述模块检测方法的系统容量预估方法及相应的设备。
背景技术
现在所有的大型互联网公司,中型以上的系统几乎全部采用分布式架构,但是这种架构中,系统的容量测试以及核心模块的提取一直是现在互联网行业内的痛点。现有技术中,对模块重要程度的检测需要启动整个系统,进行长时间的整体压力测试,因此要耗费大量的人力、时间、设备资源以及网络资源。由于耗费大,各个公司很少能够经过长久、持续压力测试以及容量测试得到一个正确的容量预估。
申请内容
本申请的一个目的是提供一种模块检测方法、系统容量预估方法及相应的设备,用以解决现有技术中对模块重要程度检测的资源耗费大、容量预估不便的问题。
为实现上述目的,本申请提供了一种模块检测方法,所述方法包括:
基于系统的运行流程对所述系统内的不同模块进行预设时长的压力测试;
获取不同模块在所述压力测试过程中的调用次数和平均响应时间;
根据所述调用次数、平均响应时间以及不同模块的初始权重获取响应模块的核心度评分值;
根据所述核心度评分值确定不同模块的实际权重。
进一步地,本申请实还提供了一种系统容量预估方法,所述方法包括:
对系统的不同模块进行容量测试;
获取不同模块在所述容量测试过程中的测试容量;
根据不同模块在所述容量测试过程中的测试容量、系统中部署的相同模块的数量、模块所在网络的网络系数以及模块的实际权重获取相应模块组的容量检测值,其中,所述模块组包括系统内部署的所有相同模块,所述模块的实际权重由前述模块检测方法确定;
根据各个模块组中最小的容量检测值确定系统容量。
基于本申请的另一方面,还提供了一种模块检测设备,所述设备包括:
测试装置,用于基于系统的运行流程对所述系统内的不同模块进行预设时长的压力测试;
数据获取装置,用于获取不同模块在所述压力测试过程中的调用次数和平均响应时间;
数据处理装置,用于根据所述调用次数、平均响应时间以及不同模块的初始权重获取响应模块的核心度评分值;
结果确定装置,用于根据所述核心度评分值确定不同模块的实际权重。
进一步地,本申请还提供了一种系统容量预估设备,所述设备包括:
测试装置,用于对系统的不同模块进行容量测试;
数据获取装置,用于获取不同模块在所述容量测试过程中的测试容量;
数据处理装置,用于根据不同模块在所述容量测试过程中的测试容量、系统中部署的相同模块的数量、模块所在网络的网络系数以及模块的实际权重获取相应模块组的容量检测值,其中,所述模块组包括系统内部署的所有相同模块,所述模块的实际权重由前述模块检测设备确定;
结果确定装置,用于根据各个模块组中最小的容量检测值确定系统容量。
本申请还提供了一种模块检测设备,所述设备包括:
处理器;
以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:基于系统的运行流程对所述系统内的不同模块进行预设时长的压力测试;获取不同模块在所述压力测试过程中的调用次数和平均响应时间;根据所述调用次数、平均响应时间以及不同模块的初始权重获取响应模块的核心度评分值;根据所述核心度评分值确定不同模块的实际权重
本申请还提供了一种系统容量预估设备,所述设备包括:
处理器;
以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:对系统的不同模块进行容量测试;获取不同模块在所述容量测试过程中的测试容量;根据不同模块在所述容量测试过程中的测试容量、系统中部署的相同模块的数量、模块所在网络的网络系数以及模块的实际权重获取相应模块组的容量检测值,其中,所述模块组包括系统内部署的所有相同模块,所述模块的实际权重由模块检测设备确定;根据各个模块组中最小的容量检测值确定系统容量。
与现有技术相比,本申请的技术方案提供了一种新的检测方式,仅需要对系统中的各个不同模块进行一定时长的压力测试,而无需进行长时间的整体压力测试,并且通过特定算法得到用于表示模块重要程度的核心度评分值,进而确定模块的重要程度(即实际权重),由此,减少检测过程中的资源消耗,降低成本。此外,根据实际容量测试的结果,结合模块检测确定的模块重要程度以及在实际网络中对容量预估存在实际影响的因素,能够较为方便、准确地估算出系统的整体容量,提高容量预估的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的一种模块检测方法的流程图;
图2为对系统进行模块拆分的示意图;
图3为本申请实施例提供的一种系统容量预估方法的流程图;
图4为本申请实施例提供的一种模块检测设备的结构示意图;
图5为本申请实施例提供的一种系统容量预估设备的结构示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出了一种模块检测方法的处理流程,该方法的包括以下步骤:
步骤S101,基于系统的运行流程对所述系统内的不同模块进行预设时长的压力测试。其中,所述系统中不同模块可以根据预设的规则来进行拆分,具体拆分方式根据系统的规模、功能不同而有所区别,例如根据在系统中所提供的不同功能、处于系统运行流程中的不同位置等。图2示出了对系统进行模块拆分的示意图,该系统拆分配两个核心服务模块210、220,一个非核心服务模块230,一个核心功能模块240以及两个非核心功能模块250、260,所述模块之间相互存在调用关系,由此实现整个系统的功能。某一模块的重要程度,即是否为核心模块,可以根据该模块在整个系统运行过程中被调用的频率以及是模块运行所消耗的时间占整个系统所消耗的时间的百分比确定。例如,以一个线上交易系统为例,其订单生成模块由于在每次交易时必然需要调用,需要分配更多的处理时间以及计算资源给该订单生成模块,因此其核心程度较高。
在基于系统的运行流程进行测试时,会从客户端到底层的数据库整体进行功能性的测试,即完成系统所实现的每一项功能,使得系统中各个不同的模块均能够实现调用。进行测试之前,给不同模块进行埋点或者基于切点切面的监控(例如通过jconsole),使得在测试过程中可以获取到所需要的测试信息,例如模块的调用次数、平均响应时间等。所述预设时长也会根据系统的规模、功能不同而有所不同,但是对于同样的系统,该预设时长明显小于现有方式中所需要的测试时间。
步骤S102,获取不同模块在所述压力测试过程中的调用次数和平均响应时间。在所述压力测试过程中,基于切点切面的监控或者埋点等方式获取到不同模块的调用次数和平均响应时间,其中所述调用次数能够表现模块在测试过程中被调用的频率,由此表现模块的重要程度。而平均响应时间能够体现测试过程中模块运行所消耗的时间占整个系统所消耗的时间的百分比,由此表现模块的重要程度。
在实际场景中,对于获取到不同模块的调用次数和平均响应时间,可以通过不同字母表示不同的模块,记录下所有常量值,f()函数表示次数,y()函数表示平均响应时间,具体的记录如下:
f(a)=10,f(b)=8,f(m)=15…f(k)=16单位为次
y(a)=5.8,y(b)=6.9,y(m)=4…y(k)=9单位为毫秒
其中,a、b、m、k均表示不同的模块。
由于本实施例的方案中,进行压力测试的时间较短,因此直接通过压力测试过程中测得的调用次数和平均响应时间无法准确判定各个不同模块的重要程度,因此需要通过特定的算法对上述两个测量值进行相应地处理,使其能够较为准确地反映模块的重要程度。
步骤S103,根据所述调用次数、平均响应时间以及不同模块的初始权重获取响应模块的核心度评分值。为了能够更加准确的体现出模块的实际重要程度,在基于调用次数、平均响应时间的基础上,进一步引入初始权重的因素。
所述初始权重为经验值,一般基于系统设计时某个模块所实现的功能在整个业务构架中的重要性的预计来确定。在进行模块检测时,只要在获取相应模块的核心度评分值之前,为系统的不同模块分配初始权重即可。一般情况下,可以在对系统进行模块拆分时,对模块的初始权重进行分配。具体分配时,可以基于某一标准值,为每个不同模块独立设定初始权重,例如将设计时重要程度最高的模块的初始权重设定为10,其它不同模块根据该基准逐一进行设定。此外,也可以先设定多个(例如5~10个)初始权重值,然后根据不同模块在设计时的重要程度,为每个模块分配其中一个初始权重值。
基于步骤S102中所获取的调用次数、平均响应时间以及不同模块的初始权重获取响应模块,具体根据如下公式获取响应模块的核心度评分值:
h(x)=(λx·ln(y(x)+1))·ln(f(x)·λx)
其中,x表示任一模块,h(x)表示所述模块的核心度评分值,f(x)表示所述模块在压力测试过程中获取到的调用次数,y(x)表示所述模块在压力测试过程中获取到的平均响应时间,λx表示所述模块的初始权重。
在实际场景中,所述步骤S103可以具体通过以下步骤进行核心度评分值的计算。
第一步,将每个不同模块的调用次数和初始权重取积,然后取自然常数e的对数。
g(a)=ln(f(a)·λa)
g(b)=ln(f(b)·λb)
…
g(m)=ln(f(m)·λm)
g(k)=ln(f(k)·λk)
第二步,将各个不同模块的响应时间加1后取自然对数,并与初始权重取积。
w(a)=λa·ln(y(a)+1)
w(b)=λb·ln(y(b)+1)
…
w(m)=λc·ln(y(m)+1)
w(k)=λk·ln(y(k)+1)
第三步,将不同模块在前述第一步和第二步中得到的值取积,即得到核心度评分值。
h(a)=w(a)*g(a)=λa·ln(y(a)+1)·(ln(f(a)·λa))
h(b)=w(b)*g(b)=λb·ln(y(b)+1)·(ln(f(b)·λb))
…
h(m)=w(m)*g(m)=λm·ln(y(m)+1)·(ln(f(m)·λm))
h(k)=w(k)*g(k)=λk·ln(y(k)+1)·(ln(f(k)·λk))
由此得到的核心度评分值即为能够准确反映不同模块在系统中实际重要程度的值。
步骤S104,根据所述核心度评分值确定不同模块的实际权重。具体地,所述核心度评分值越高,即表示对应的模块在系统中越重要,其实际权重也就越大;相反,该核心度评分值越低,则表示对应的模块在系统中重要程度越低,其实际权重也就越小。
优选地,所述步骤S104具体包括:根据所述核心度评分值对不同模块进行排序,并根据排序结果确定各个模块的实际权重。具体的排序方式可以根据实际场景的需求确定,本申请实施例中采用的排序方式为二叉排序,排序结果中最靠前的模块即实际权重要程度最高的模块,其实际权重最大,排序结果中最靠后的模块即实际权重要程度最低的模块,其实际权重最最小。
由此,本申请实施例提供了一种新的检测方式,仅需要对系统中的各个不同模块进行一定时长的压力测试,而无需进行长时间的整体压力测试,并且通过特定算法得到用于表示模块重要程度的核心度评分值,进而确定模块的重要程度(即实际权重),由此,减少检测过程中的资源消耗,降低成本。此外,找到核心模块后,通过对核心模块的优化和分割,增加程序的实际承载能力和响应速度,能够有效优化整个系统的处理效率。
进一步地,本申请实施例提供了一种基于前述模块检测结果的系统容量预估方法,该方法的处理流程如图3所示,包括以下步骤:
步骤S301,对系统的不同模块进行容量测试。
步骤S302,获取不同模块在所述容量测试过程中的测试容量。在此,所述测试容量表示各个不同模块所能承载的最大用户数。在实际场景中,对于获取到不同模块的测试容量,可以通过不同字母表示不同的模块,记录下所有常量值,l()函数表示测试容量,具体如下:
l(a)=20,l(b)=50,l(m)=180…l(k)=160单位为万人
步骤S303,根据不同模块在所述容量测试过程中的测试容量、系统中部署的相同模块的数量、模块所在网络的网络系数以及模块的实际权重获取相应模块组的容量检测值,其中,所述模块组包括系统内部署的所有相同模块,所述模块的实际权重由前述模块检测方法确定。
在进行容量测试时,只要在计算模块的容量检测值之前,根据前述的模块检测方法的结果为系统的不同模块分配实际权重即可。对于分布式构架的系统,对于相同功能的模块可能会在不同的物理设备上部署多个。在此,将所述系统中所有的相同模块的集合定义为模块组,仍以前述线上交易系统为例,该系统在M台机器上部署了订单生成模块,用于共同提供订单生成的服务,则系统中部署的订单生成模块数量可以确定为M。所述网络系数表示模块在设计时的所预定义的网络环境与实际使用时的网络环境的差异,例如某模块的设计带宽为10MB,而所在网络的实际带宽仅为3MB,则其网络系数应为0.3。
具体地,相应模块组的容量检测值可以根据如下公式获取:
其中,x表示任一模块,k(x)表示所述模块对应的模块组的容量检测值,mx表示系统中部署的相同所述模块的数量,αx表示所述模块所在网络的网络系数,l(x)表示所述模块在所述容量测试过程中的测试容量,表示所述模块的实际权重。
由此得到的模块组的容量检测值即为能够准确反映不同模块所实现的功能在系统中实际能够承载的最大用户数。
步骤S304,根据各个模块组中最小的容量检测值确定系统容量。具体地,对于某一系统,其容量受限于容量检测值最小的模块组,因此所述系统的容量即为各个模块组中最小的容量检测值。
作为一种优选的实施方式,所述步骤S304具体包括:对根据所述容量检测值对各个模块组进行排序,根据排序结果获取各个模块组中最小的容量检测值,并将所述最小的容量检测值确定为系统容量。具体的排序方式可以根据实际场景的需求确定,本申请实施例中采用的排序方式为二叉排序,根据排序结果,将排序最靠后的模块的容量检测值确定为系统容量。
由于本申请实施例中的系统容量预估方法在常规容量测试的基础上,进一步考虑了网络参数(实际网络中对容量预估存在实际影响的因素)和实际重要性参数(即模块检测方法确定的实际权重),相较于现有技术能够较为方便、准确地估算出系统的整体容量,提高容量预估的效率。
基于本申请的另一方面,还提供了一种模块检测设备,该模块检测设备4的结构如图4所示,包括测试装置410、数据获取装置420、数据处理装置430和结果确定装置440。具体地,所述测试装置410用于基于系统的运行流程对所述系统内的不同模块进行预设时长的压力测试;所述数据获取装置420用于获取不同模块在所述压力测试过程中的调用次数和平均相应时间;所述数据处理装置430用于根据所述调用次数、平均响应时间以及不同模块的初始权重获取相应模块的核心度评分值;所述结果确定装置440用于根据所述核心度评分值确定不同模块的实际权重。
在此,本领域技术人员应当理解,所述模块检测设备4可以包括但不限于用户设备、网络设备或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于个人计算机、触控终端等实现;所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(CloudComputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
其中,所述系统中不同模块可以根据预设的规则来进行拆分,具体拆分方式根据系统的规模、功能不同而有所区别,例如根据在系统中所提供的不同功能、处于系统运行流程中的不同位置等。图2示出了对系统进行模块拆分的示意图,该系统拆分配两个核心服务模块210、220,一个非核心服务模块230,一个核心功能模块240以及两个非核心功能模块250、260,所述模块之间相互存在调用关系,由此实现整个系统的功能。某一模块的重要程度,即是否为核心模块,可以根据该模块在整个系统运行过程中被调用的频率以及是模块运行所消耗的时间占整个系统所消耗的时间的百分比确定。例如,以一个线上交易系统为例,其订单生成模块由于在每次交易时必然需要调用,需要分配更多的处理时间以及计算资源给该订单生成模块,因此其核心程度较高。
测试装置410在基于系统的运行流程进行测试时,会从客户端到底层的数据库整体进行功能性的测试,即完成系统所实现的每一项功能,使得系统中各个不同的模块均能够实现调用。进行测试之前,给不同模块进行埋点或者基于切点切面的监控(例如通过jconsole),使得在测试过程中可以获取到所需要的测试信息,例如模块的调用次数、平均响应时间等。所述预设时长也会根据系统的规模、功能不同而有所不同,但是对于同样的系统,该预设时长明显小于现有方式中所需要的测试时间。
在所述压力测试过程中,基于切点切面的监控或者埋点等方式获取到不同模块的调用次数和平均响应时间,其中所述调用次数能够表现模块在测试过程中被调用的频率,由此表现模块的重要程度。而平均响应时间能够体现测试过程中模块运行所消耗的时间占整个系统所消耗的时间的百分比,由此表现模块的重要程度。
在实际场景中,对于获取到不同模块的调用次数和平均响应时间,可以通过不同字母表示不同的模块,记录下所有常量值,f()函数表示次数,y()函数表示平均响应时间,具体的记录如下:
f(a)=10,f(b)=8,f(m)=15…f(k)=16单位为次
y(a)=5.8,y(b)=6.9,y(m)=4…y(k)=9单位为毫秒
其中,a、b、m、k均表示不同的模块。
由于本实施例的方案中,进行压力测试的时间较短,因此直接通过压力测试过程中测得的调用次数和平均响应时间无法准确判定各个不同模块的重要程度,因此需要通过特定的算法对上述两个测量值进行相应地处理,使其能够较为准确地反映模块的重要程度。
为了能够更加准确的体现出模块的实际重要程度,在基于调用次数、平均响应时间的基础上,进一步引入初始权重的因素。
所述初始权重为经验值,一般基于系统设计时某个模块所实现的功能在整个业务构架中的重要性的预计来确定。在进行模块检测时,所述模块检测设备4还可以包括权重分配装置,该权重分配装置只要在获取相应模块的核心度评分值之前,为系统的不同模块分配初始权重即可。一般情况下,可以在对系统进行模块拆分时,对模块的初始权重进行分配。具体分配时,可以基于某一标准值,为每个不同模块独立设定初始权重,例如将设计时重要程度最高的模块的初始权重设定为10,其它不同模块根据该基准逐一进行设定。此外,也可以先设定多个(例如5~10个)初始权重值,然后根据不同模块在设计时的重要程度,为每个模块分配其中一个初始权重值。
基于数据获取装置420中所获取的调用次数、平均响应时间以及不同模块的初始权重获取响应模块,数据处理装置430具体根据如下公式获取响应模块的核心度评分值:
h(x)=(λx·ln(y(x)+1))·ln(f(x)·λx)
其中,x表示任一模块,h(x)表示所述模块的核心度评分值,f(x)表示所述模块在压力测试过程中获取到的调用次数,y(x)表示所述模块在压力测试过程中获取到的平均响应时间,λx表示所述模块的初始权重。
在实际场景中,所述数据处理装置430可以具体通过以下步骤进行核心度评分值的计算。
第一步,将每个不同模块的调用次数和初始权重取积,然后取自然常数e的对数。
g(a)=ln(f(a)·λa)
g(b)=ln(f(b)·λb)
…
g(m)=ln(f(m)·λm)
g(k)=ln(f(k)·λk)
第二步,将各个不同模块的响应时间加1后取自然对数,并与初始权重取积。
w(a)=λa·ln(y(a)+1)
w(b)=λb·ln(y(b)+1)
…
w(m)=λc·ln(y(m)+1)
w(k)=λk·ln(y(k)+1)
第三步,将不同模块在前述第一步和第二步中得到的值取积,即得到核心度评分值。
h(a)=w(a)*g(a)=λa·ln(y(a)+1)·(ln(f(a)·λa))
h(b)=w(b)*g(b)=λb·ln(y(b)+1)·(ln(f(b)·λb))
…
h(m)=w(m)*g(m)=λm·ln(y(m)+1)·(ln(f(m)·λm))
h(k)=w(k)*g(k)=λk·ln(y(k)+1)·(ln(f(k)·λk))
由此得到的核心度评分值即为能够准确反映不同模块在系统中实际重要程度的值。具体地,所述核心度评分值越高,即表示对应的模块在系统中越重要,其实际权重也就越大;相反,该核心度评分值越低,则表示对应的模块在系统中重要程度越低,其实际权重也就越小。
优选地,所述结果确定装置440具体用于根据所述核心度评分值对不同模块进行排序,并根据排序结果确定各个模块的实际权重。具体的排序方式可以根据实际场景的需求确定,本申请实施例中采用的排序方式为二叉排序,排序结果中最靠前的模块即实际权重要程度最高的模块,其实际权重最大,排序结果中最靠后的模块即实际权重要程度最低的模块,其实际权重最最小。
由此,本申请实施例提供了一种新的检测方式,仅需要对系统中的各个不同模块进行一定时长的压力测试,而无需进行长时间的整体压力测试,并且通过特定算法得到用于表示模块重要程度的核心度评分值,进而确定模块的重要程度(即实际权重),由此,减少检测过程中的资源消耗,降低成本。此外,找到核心模块后,通过对核心模块的优化和分割,增加程序的实际承载能力和响应速度,能够有效优化整个系统的处理效率。
进一步地,本申请实施例还提供了一种基于前述模块检测结果的系统容量预估设备,该系统容量预估设备5的结构如图5所示,包括测试装置510、数据获取装置520、数据处理装置530和结果确定装置540。具体地,所述测试装置510用于对系统的不同模块进行容量测试;所述数据获取装置520用于获取不同模块在所述容量测试过程中的测试容量;所述数据处理装置530用于根据不同模块在所述容量测试过程中的测试容量、系统中部署的相同模块的数量、模块所在网络的网络系数以及模块的实际权重获取相应模块组的容量检测值,其中,所述模块组包括系统内部署的所有相同模块,所述模块的实际权重由前述的模块检测设备确定;所述结果确定装置540用于根据各个模块组中最小的容量检测值确定系统容量。
在此,本领域技术人员应当理解,所述系统容量预估设备5可以包括但不限于用户设备、网络设备或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于个人计算机、触控终端等实现;所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
所述测试容量表示各个不同模块所能承载的最大用户数。在实际场景中,对于获取到不同模块的测试容量,可以通过不同字母表示不同的模块,记录下所有常量值,l()函数表示测试容量,具体如下:
l(a)=20,l(b)=50,l(m)=180…l(k)=160单位为万人
在进行容量测试时,所述系统容量预估设备5还可以包括权重分配装置,该权重分配装置只要在计算模块的容量检测值之前,根据前述的模块检测设备的结果为系统的不同模块分配实际权重即可。对于分布式构架的系统,对于相同功能的模块可能会在不同的物理设备上部署多个。在此,将所述系统中所有的相同模块的集合定义为模块组,仍以前述线上交易系统为例,该系统在M台机器上部署了订单生成模块,用于共同提供订单生成的服务,则系统中部署的订单生成模块数量可以确定为M。所述网络系数表示模块在设计时的所预定义的网络环境与实际使用时的网络环境的差异,例如某模块的设计带宽为10MB,而所在网络的实际带宽仅为3MB,则其网络系数应为0.3。
所述数据处理装置530具体可以根据如下公式获取相应模块组的容量检测值:
其中,x表示任一模块,k(x)表示所述模块对应的模块组的容量检测值,mx表示系统中部署的相同所述模块的数量,αx表示所述模块所在网络的网络系数,l(x)表示所述模块在所述容量测试过程中的测试容量,表示所述模块的实际权重。
由此得到的模块组的容量检测值即为能够准确反映不同模块所实现的功能在系统中实际能够承载的最大用户数。对于某一系统,其容量受限于容量检测值最小的模块组,因此所述系统的容量即为各个模块组中最小的容量检测值。
作为一种优选的实施方式,所述结果确定装置540具体用于对根据所述容量检测值对各个模块组进行排序,根据排序结果获取各个模块组中最小的容量检测值,并将所述最小的容量检测值确定为系统容量。具体的排序方式可以根据实际场景的需求确定,本申请实施例中采用的排序方式为二叉排序,根据排序结果,将排序最靠后的模块的容量检测值确定为系统容量。
此外,本申请实施例还提供了一种模块检测设备,所述设备包括:
处理器;
以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:基于系统的运行流程对所述系统内的不同模块进行预设时长的压力测试;获取不同模块在所述压力测试过程中的调用次数和平均响应时间;根据所述调用次数、平均响应时间以及不同模块的初始权重获取响应模块的核心度评分值;根据所述核心度评分值确定不同模块的实际权重
本申请实施例还提供了一种系统容量预估设备,所述设备包括:
处理器;
以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:对系统的不同模块进行容量测试;获取不同模块在所述容量测试过程中的测试容量;根据不同模块在所述容量测试过程中的测试容量、系统中部署的相同模块的数量、模块所在网络的网络系数以及模块的实际权重获取相应模块组的容量检测值,其中,所述模块组包括系统内部署的所有相同模块,所述模块的实际权重由模块检测设备确定;根据各个模块组中最小的容量检测值确定系统容量。
由于本申请实施例中的系统容量预估设备在常规容量测试的基础上,进一步考虑了网络参数(实际网络中对容量预估存在实际影响的因素)和实际重要性参数(即模块检测设备确定的实际权重),相较于现有技术能够较为方便、准确地估算出系统的整体容量,提高容量预估的效率。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
1.一种模块检测方法,其中,所述方法包括:
基于系统的运行流程对所述系统内的不同模块进行预设时长的压力测试;
获取不同模块在所述压力测试过程中的调用次数和平均响应时间;
根据所述调用次数、平均响应时间以及不同模块的初始权重获取响应模块的核心度评分值;
根据所述核心度评分值确定不同模块的实际权重。
2.根据权利要求1所述的方法,其中,在获取响应模块的核心度评分值之前,还包括:
为系统的不同模块分配初始权重。
3.根据权利要求1所述的方法,其中,根据所述调用次数、平均响应时间以及不同模块的初始权重获取响应模块的核心度评分值,包括:
根据如下公式获取响应模块的核心度评分值:
h(x)=(λx·ln(y(x)+1))·ln(f(x)·λx)
其中,x表示任一模块,h(x)表示所述模块的核心度评分值,f(x)表示所述模块在压力测试过程中获取到的调用次数,y(x)表示所述模块在压力测试过程中获取到的平均响应时间,λx表示所述模块的初始权重。
4.根据权利要求1所述的方法,其中,根据所述核心度评分值确定各个模块的实际权重,包括:
根据所述核心度评分值对不同模块进行排序,并根据排序结果确定各个模块的实际权重。
5.一种系统容量预估方法,其中,所述方法包括:
对系统的不同模块进行容量测试;
获取不同模块在所述容量测试过程中的测试容量;
根据不同模块在所述容量测试过程中的测试容量、系统中部署的相同模块的数量、模块所在网络的网络系数以及模块的实际权重获取相应模块组的容量检测值,其中,所述模块组包括系统内部署的所有相同模块,所述模块的实际权重由权利要求1至4中任一项所述的方法确定;
根据各个模块组中最小的容量检测值确定系统容量。
6.根据权利要求5所述的方法,其中,在获取相应模块组的容量检测值之前,包括:
为系统的不同模块分配实际权重。
7.根据权利要求5所述的方法,其中,根据不同模块在所述容量测试过程中的测试容量、系统中部署的相同模块的数量、模块所在网络的网络系数以及模块的实际权重获取相应模块组的容量检测值,包括:
根据如下公式获取相应模块组的容量检测值:
其中,x表示任一模块,k(x)表示所述模块对应的模块组的容量检测值,mx表示系统中部署的相同所述模块的数量,αx表示所述模块所在网络的网络系数,l(x)表示所述模块在所述容量测试过程中的测试容量,表示所述模块的实际权重。
8.根据权利要求5所述的方法,其中,根据各个模块组中最小的容量检测值确定系统容量,包括:
对根据所述容量检测值对各个模块组进行排序,根据排序结果获取各个模块组中最小的容量检测值,并将所述最小的容量检测值确定为系统容量。
9.一种模块检测设备,其中,所述设备包括:
测试装置,用于基于系统的运行流程对所述系统内的不同模块进行预设时长的压力测试;
数据获取装置,用于获取不同模块在所述压力测试过程中的调用次数和平均响应时间;
数据处理装置,用于根据所述调用次数、平均响应时间以及不同模块的初始权重获取响应模块的核心度评分值;
结果确定装置,用于根据所述核心度评分值确定不同模块的实际权重。
10.根据权利要求9所述的设备,其中,所述设备还包括:
权重分配装置,用于在获取响应模块的核心度评分值之前,为系统的不同模块分配初始权重。
11.根据权利要求9所述的设备,其中,所述数据处理装置,用于根据如下公式获取响应模块的核心度评分值:
h(x)=(λx·ln(y(x)+1))·ln(f(x)·λx)
其中,x表示任一模块,h(x)表示所述模块的核心度评分值,f(x)表示所述模块在压力测试过程中获取到的调用次数,y(x)表示所述模块在压力测试过程中获取到的平均响应时间,λx表示所述模块的初始权重。
12.根据权利要求9所述的设备,其中,所述结果确定装置,用于根据所述核心度评分值对不同模块进行排序,并根据排序结果确定各个模块的实际权重。
13.一种系统容量预估设备,其中,所述设备包括:
测试装置,用于对系统的不同模块进行容量测试;
数据获取装置,用于获取不同模块在所述容量测试过程中的测试容量;
数据处理装置,用于根据不同模块在所述容量测试过程中的测试容量、系统中部署的相同模块的数量、模块所在网络的网络系数以及模块的实际权重获取相应模块组的容量检测值,其中,所述模块组包括系统内部署的所有相同模块,所述模块的实际权重由权利要求9至12中任一项所述的设备确定;
结果确定装置,用于根据各个模块组中最小的容量检测值确定系统容量。
14.根据权利要求13所述的设备,其中,所述设备还包括:
权重分配模块,用于在获取相应模块组的容量检测值之前,为系统的不同模块分配实际权重。
15.根据权利要求13所述的设备,其中,所述数据处理装置,用于根据如下公式获取相应模块组的容量检测值:
其中,x表示任一模块,k(x)表示所述模块对应的模块组的容量检测值,mx表示系统中部署的相同所述模块的数量,αx表示所述模块所在网络的网络系数,l(x)表示所述模块在所述容量测试过程中的测试容量,表示所述模块的实际权重。
16.根据权利要求13所述的设备,其中,所述结果确定装置,用于对根据所述容量检测值对各个模块组进行排序,根据排序结果获取各个模块组中最小的容量检测值,并将所述最小的容量检测值确定为系统容量。
17.一种模块检测设备,其中,所述设备包括:
处理器;
以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:基于系统的运行流程对所述系统内的不同模块进行预设时长的压力测试;获取不同模块在所述压力测试过程中的调用次数和平均响应时间;根据所述调用次数、平均响应时间以及不同模块的初始权重获取响应模块的核心度评分值;根据所述核心度评分值确定不同模块的实际权重
18.一种系统容量预估设备,其中,所述设备包括:
处理器;
以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:对系统的不同模块进行容量测试;获取不同模块在所述容量测试过程中的测试容量;根据不同模块在所述容量测试过程中的测试容量、系统中部署的相同模块的数量、模块所在网络的网络系数以及模块的实际权重获取相应模块组的容量检测值,其中,所述模块组包括系统内部署的所有相同模块,所述模块的实际权重由模块检测设备确定;根据各个模块组中最小的容量检测值确定系统容量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610133977 | 2016-03-09 | ||
CN201610133977X | 2016-03-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107395447A true CN107395447A (zh) | 2017-11-24 |
CN107395447B CN107395447B (zh) | 2021-04-16 |
Family
ID=60338830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710138693.4A Active CN107395447B (zh) | 2016-03-09 | 2017-03-09 | 模块检测方法、系统容量预估方法及相应的设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107395447B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213104A (zh) * | 2019-06-05 | 2019-09-06 | 北京百度网讯科技有限公司 | 容量预测方法及装置 |
CN110971478A (zh) * | 2018-09-30 | 2020-04-07 | 北京奇虎科技有限公司 | 云平台服务性能的压测方法、装置及计算设备 |
CN112348666A (zh) * | 2020-10-28 | 2021-02-09 | 深圳前海微众银行股份有限公司 | 一种确定系统容量的方法及装置 |
CN116630034A (zh) * | 2023-07-21 | 2023-08-22 | 杭银消费金融股份有限公司 | 一种风控数据处理系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819045A (en) * | 1995-12-29 | 1998-10-06 | Intel Corporation | Method for determining a networking capability index for each of a plurality of networked computers and load balancing the computer network using the networking capability indices |
US20060074948A1 (en) * | 2004-10-04 | 2006-04-06 | International Business Machines Corporation | Management server, system, method and program |
CN1992951A (zh) * | 2005-12-27 | 2007-07-04 | 上海移动通信有限责任公司 | 一种移动通信业务运营支撑系统性能测试的方法 |
CN101625658A (zh) * | 2009-08-04 | 2010-01-13 | 卓望信息技术(北京)有限公司西城分公司 | 一种软件系统性能测试方法 |
CN102822798A (zh) * | 2010-03-31 | 2012-12-12 | 国际商业机器公司 | 用于虚拟容器系统内的资源容量评估的方法和装置 |
CN102984717A (zh) * | 2011-09-07 | 2013-03-20 | 中兴通讯股份有限公司 | 系统容量的估算方法及系统 |
CN104301403A (zh) * | 2014-09-26 | 2015-01-21 | 东北大学 | 基于组件服务副本增删的云服务资源动态配置系统及方法 |
-
2017
- 2017-03-09 CN CN201710138693.4A patent/CN107395447B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819045A (en) * | 1995-12-29 | 1998-10-06 | Intel Corporation | Method for determining a networking capability index for each of a plurality of networked computers and load balancing the computer network using the networking capability indices |
US20060074948A1 (en) * | 2004-10-04 | 2006-04-06 | International Business Machines Corporation | Management server, system, method and program |
CN1992951A (zh) * | 2005-12-27 | 2007-07-04 | 上海移动通信有限责任公司 | 一种移动通信业务运营支撑系统性能测试的方法 |
CN101625658A (zh) * | 2009-08-04 | 2010-01-13 | 卓望信息技术(北京)有限公司西城分公司 | 一种软件系统性能测试方法 |
CN102822798A (zh) * | 2010-03-31 | 2012-12-12 | 国际商业机器公司 | 用于虚拟容器系统内的资源容量评估的方法和装置 |
CN102984717A (zh) * | 2011-09-07 | 2013-03-20 | 中兴通讯股份有限公司 | 系统容量的估算方法及系统 |
CN104301403A (zh) * | 2014-09-26 | 2015-01-21 | 东北大学 | 基于组件服务副本增删的云服务资源动态配置系统及方法 |
Non-Patent Citations (2)
Title |
---|
陈森利等: "云计算模式下企业存储资源管理探索 ", 《信息与电脑(理论版)》 * |
陈森利等: "云计算模式下企业存储资源管理探索", 《信息与电脑(理论版)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110971478A (zh) * | 2018-09-30 | 2020-04-07 | 北京奇虎科技有限公司 | 云平台服务性能的压测方法、装置及计算设备 |
CN110971478B (zh) * | 2018-09-30 | 2022-04-26 | 北京奇虎科技有限公司 | 云平台服务性能的压测方法、装置及计算设备 |
CN110213104A (zh) * | 2019-06-05 | 2019-09-06 | 北京百度网讯科技有限公司 | 容量预测方法及装置 |
CN110213104B (zh) * | 2019-06-05 | 2022-04-08 | 北京百度网讯科技有限公司 | 容量预测方法及装置 |
CN112348666A (zh) * | 2020-10-28 | 2021-02-09 | 深圳前海微众银行股份有限公司 | 一种确定系统容量的方法及装置 |
CN116630034A (zh) * | 2023-07-21 | 2023-08-22 | 杭银消费金融股份有限公司 | 一种风控数据处理系统及方法 |
CN116630034B (zh) * | 2023-07-21 | 2023-11-07 | 杭银消费金融股份有限公司 | 一种风控数据处理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107395447B (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107784010B (zh) | 一种用于确定新闻主题的热度信息的方法与设备 | |
CN108833458B (zh) | 一种应用推荐方法、装置、介质及设备 | |
RU2607621C2 (ru) | Способ, система и машиночитаемый носитель данных для группирования в социальных сетях | |
CA2881780C (en) | System and method for measuring and improving the efficiency of social media campaigns | |
CN104951465B (zh) | 应用推荐方法及装置 | |
CN107395447A (zh) | 模块检测方法、系统容量预估方法及相应的设备 | |
CN105630946B (zh) | 一种基于大数据的领域交叉推荐方法及装置 | |
TW201327233A (zh) | 個性化的資訊推送方法及裝置 | |
CN110046303B (zh) | 一种基于需求匹配平台实现的信息推荐方法及装置 | |
CN109309596A (zh) | 一种压力测试方法、装置及服务器 | |
CN103455555B (zh) | 基于移动终端相似度的推荐方法及推荐装置 | |
JP2017059057A (ja) | 推定装置、推定方法及び推定プログラム | |
CN110334012B (zh) | 一种风险评估方法及装置 | |
CN107784127A (zh) | 一种热点定位方法和装置 | |
CN110516164A (zh) | 一种信息推荐方法、装置、设备及存储介质 | |
CN108572914B (zh) | 一种生成用于压力测试的日志的方法及装置 | |
CN117520645A (zh) | 基于金融产品的用户确定方法、装置以及电子设备 | |
CN111882224A (zh) | 对消费场景进行分类的方法和装置 | |
CN117056619A (zh) | 确定用户行为特征的方法和装置 | |
CN111144987A (zh) | 异常购物行为的限制方法、限制组件及购物系统 | |
CN111652674B (zh) | 一种资源推荐方法以及装置 | |
CN113327154B (zh) | 基于大数据的电商用户讯息推送方法及系统 | |
CN108959324A (zh) | 多媒体展示资源库存量的预估方法、装置及存储介质 | |
CN114372199A (zh) | 业务推送方法及装置、存储介质和电子设备 | |
CN104809165B (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 |