CN110213104B - 容量预测方法及装置 - Google Patents
容量预测方法及装置 Download PDFInfo
- Publication number
- CN110213104B CN110213104B CN201910487613.5A CN201910487613A CN110213104B CN 110213104 B CN110213104 B CN 110213104B CN 201910487613 A CN201910487613 A CN 201910487613A CN 110213104 B CN110213104 B CN 110213104B
- Authority
- CN
- China
- Prior art keywords
- time period
- request list
- flow
- capacity
- estimated
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- 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/06—Generation of reports
- H04L43/067—Generation of reports using time frame reporting
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提出一种容量测试方法及装置。所述方法包括:根据被测设备的在目标时间段之前的流量,获取所述被测设备在目标时间段的预估流量;根据所述被测设备在所述目标时间段的预估流量,构造测试请求列表;将所述测试请求列表输入所述被测设备,获取所述被测设备的容量。本发明实施例能够降低容量测试的人力消耗,提高容量测试的效率。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种容量预测方法及装置。
背景技术
容量可以看作***的一种性能指标,用于表示***在一定情况下的界值或者极限值。容量测试的目的是,通过测试预先分析出反映***应用特征的某项指标的极限值,这个极限值可以是最大并发用户数、数据库记录数等。***在其极限状态下没有出现任何问题或还能保持主要功能正常运行,而超过这一极限值则可能面临崩溃等无法正常工作的情况。容量测试还能够确定测试对象在给定时间内能够持续处理的最大负载或工作量。有了对***负载的准确预测,不仅能对提高对***性能的信任度,同时也可以帮助***建设方经济地规划应用***,优化***的部署。
发明内容
本发明实施例提供一种容量预测方法及装置,以解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种容量测试方法,包括:
根据被测设备的在目标时间段之前的流量,获取所述被测设备在目标时间段的预估流量;
根据所述被测设备在所述目标时间段的预估流量,构造测试请求列表;
将所述测试请求列表输入所述被测设备,获取所述被测设备的容量。
在一种实施方式中,根据被测设备的在目标时间段之前的流量,获取所述被测设备在目标时间段的预估流量,包括:
计算第一时间段的流量与第二时间段的流量的比值,所述第一时间段与所述第二时间段处于第一时间周期;
将所述比值乘以第三时间段的流量,获取所述被测设备在目标时间段的预估流量,所述第三时间段和所述目标时间段处于第二时间周期;
其中,所述第一时间段、所述第二时间段和所述第三时间段在所述目标时间段之前,所述第一时间周期在所述第二时间周期之前,所述第一时间周期与所述第二时间周期具有相同的周期长度,所述第一时间段与所述目标时间段的长度为第一设定值,所述第二时间段与所述第三时间段的长度为第二设定值。
在一种实施方式中,根据所述被测设备在目标时间段的预估流量,构造测试请求列表,包括:
根据所述预估流量,获取预估请求列表;
根据预设的请求列表组成比例,对所述预估请求列表进行校验,获取校验结果;
根据所述校验结果,对所述预估请求列表进行调整,获取所述测试请求列表。
在一种实施方式中,所述被测设备为地图导航服务器集群;根据所述预估流量,获取预估请求列表,包括:
将所述预估流量转化为基础请求列表;
根据在目标时间段之前的流量日志中的起点信息和终点信息,对所述基础请求列表中的起点信息和终点信息进行替换,获取初步调配请求列表;
调整所述初步调配请求列表中的请求来源的比例,获取二次调配请求列表;
按照预设规则,调整二次调配请求列表的组成比例,获取预估请求列表。
在一种实施方式中,将所述测试请求列表输入所述被测设备,获取所述被测设备的容量之后,还包括:
根据所述被测设备的容量和所述预估流量,对所述被测设备进行扩容。
在一种实施方式中,所述被测设备包括多个设备,根据所述被测设备的容量,对所述被测设备进行扩容,包括:
采用下式分别计算每个被测设备的预留量:
其中,k为设备总数,Buffer为第i个设备的预留量,ni为第i个设备的预估流量,nj为第j个设备的预估流量,nm为所述多个设备的预估流量的最大值;
根据每个所述被测设备的所述预留量和所述预估流量,分别计算每个所述被测设备的扩充容量。
第二方面,本发明实施例提供一种容量测试装置,包括:
流量预估模块:用于根据被测设备的在目标时间段之前的流量,获取所述被测设备在目标时间段的预估流量;
测试请求列表构造模块:用于根据所述被测设备在所述目标时间段的预估流量,构造测试请求列表;
容量获取模块:用于将所述测试请求列表输入所述被测设备,获取所述被测设备的容量。
在一种实施方式中,所述流量预估模块包括:
同比计算单元:用于计算第一时间段的流量与第二时间段的流量的比值,所述第一时间段与所述第二时间段处于第一时间周期;
环比计算单元:用于将所述比值乘以第三时间段的流量,获取所述被测设备在目标时间段的预估流量,所述第三时间段和所述目标时间段处于第二时间周期;
其中,所述第一时间段、所述第二时间段和所述第三时间段在所述目标时间段之前,所述第一时间周期在所述第二时间周期之前,所述第一时间周期与所述第二时间周期具有相同的周期长度,所述第一时间段与所述目标时间段的长度为第一设定值,所述第二时间段与所述第三时间段的长度为第二设定值。
在一种实施方式中,所述测试请求列表构造模块包括:
预估请求列表获取单元:用于根据所述预估流量,获取预估请求列表;
校验单元:用于根据预设的请求列表组成比例,对所述预估请求列表进行校验,获取校验结果;
校验调整单元:用于根据所述校验结果,对所述预估请求列表进行调整,获取所述测试请求列表。
在一种实施方式中,所述被测设备为地图导航服务器集群;预估请求列表获取单元包括:
转化子单元:用于将所述预估流量转化为基础请求列表;
第一调配子单元:用于根据在目标时间段之前的流量日志中的起点信息和终点信息,对所述基础请求列表中的起点信息和终点信息进行替换,获取初步调配请求列表;
第二调配子单元:用于调整所述初步调配请求列表中的请求来源的比例,获取二次调配请求列表;
第三调配子单元:用于按照预设规则,调整二次调配请求列表的组成比例,获取预估请求列表。
在一种实施方式中,所述装置还包括:
扩容模块:用于根据所述被测设备的容量和所述预估流量,对所述被测设备进行扩容。
在一种实施方式中,所述扩容模块包括:
预留量计算单元:用于采用下式分别计算每个被测设备的预留量:
其中,k为设备总数,Buffer为第i个设备的预留量,ni为第i个设备的预估流量,nj为第j个设备的预估流量,nm为所述多个设备的预估流量的最大值;
扩充容量计算单元:用于根据每个所述被测设备的所述预留量和所述预估流量,分别计算每个所述被测设备的扩充容量。
第三方面,本发明实施例提供了一种容量测试装置,所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述装置的结构中包括处理器和存储器,所述存储器用于存储支持所述装置执行上述容量测试方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述装置还可以包括通信接口,用于与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储容量测试装置所用的计算机软件指令,其包括用于执行上述容量测试方法所涉及的程序。
上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明实施例中,通过被测设备的预估流量测试被测设备的容量,能够对被测设备进行统一测试,无需对被测设备的每个组成模块单独构造测试请求列表,节省大量的人力。同时,本发明实施例还可以模拟任意时间点的流量,适用范围较广。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1示出根据本发明实施例的容量测试方法的流程图。
图2示出根据本发明实施例的容量测试方法的流程图。
图3示出根据本发明实施例的地图导航的流程图。
图4示出根据本发明实施例的容量测试方法的流程图。
图5示出根据本发明实施例的容量测试装置的结构框图。
图6示出根据本发明实施例的容量测试装置的结构框图。
图7示出根据本发明实施例的容量测试设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1示出根据本发明实施例的容量测试方法的流程图。如图1所示,该容量测试方法包括:
步骤S11:根据被测设备的在目标时间段之前流量,获取所述被测设备在目标时间段的预估流量。
步骤S12:根据所述被测设备在所述目标时间段的预估流量,构造测试请求列表。
步骤S13:将所述测试请求列表输入所述被测设备,获取所述被测设备的容量。
在本发明实施例中,目标时间段,可以是按照一定时间单位计算的时间段,例如:年、月、日、小时、分钟等。如果目标时间段为年份,比如2006年,那么目标时间段之前的流量,为2006年之前的流量。
在本发明实施例中,所述测试请求列表包括多个测试请求,也可以称为预测请求集合。利用测试请求列表能够对被测设备进行压测,一般来说,测试请求列表中的测试请求越多,目标时间段的预估流量越大。
将所述测试请求列表输入所述被测设备,可以获取所述被测设备的容量。例如,将测试请求列表的测试请求输入被测设备,被测设备工作状态出现异常时的累计流量,即为被测设备的容量。
在本发明实施例中,被测设备可以为任何一种处理一定流量数据的设备,例如服务器、服务器集群等。
本发明实施例中,通过被测设备的预估流量测试被测设备的容量,能够对被测设备进行统一测试,无需对被测设备的每个组成模块单独构造测试请求列表,节省大量的人力。同时,本发明实施例还可以模拟任意时间点的流量,适用范围较广。
在本发明一些实施例中,一般情况下容量测试所希望得到的结果是被测设备所能够承受的流量的最大值,因此预估流量可以根据目标时间段之间的某个时间段的流量峰值进行预估。
在一种实施方式中,根据被测设备的在目标时间段之前的流量,获取所述被测设备在目标时间段的预估流量,包括:
计算第一时间段的流量与第二时间段的流量的比值,所述第一时间段与所述第二时间段处于第一时间周期;
将所述比值乘以第三时间段的流量,获取所述被测设备在目标时间段的预估流量,所述第三时间段和所述目标时间段处于第二时间周期;
其中,所述第一时间段、所述第二时间段和所述第三时间段在所述目标时间段之前,所述第一时间周期在所述第二时间周期之前,所述第一时间段与所述目标时间段的长度为第一设定值,所述第二时间段与所述第三时间段的长度为第二设定值,第一时间周期与第二时间周期具有相同的周期长度。
在本发明实施例中,第一时间周期与第二时间周期可以具有相同的周期长度,例如,第一时间周期为自然年,第二时间周期也为自然年。再如,第一时间周期为自然月,第二时间周期也为自然月。第一时间周期在第二时间周期之前,例如,第一时间周期为2015年,第二时间周期为2015年之后的自然年,可以是2016年-2018年。再如,第一时间周期为2015年9月,第二时间周期为2015年9月之前的月份,如2014年11月。
在本发明实施例中,目标时间段的预估流量=第一时间段的流量/第二时间段的流量×第三时间段的流量。目标时间段与第一时间段可以存在对应关系,第二时间段与第三时间段可以存在对应关系。具体而言,目标时间段与第一时间段可以处于不同时间周期的相同位置,第二时间段与第三时间段可以处于不同时间周期的相同位置。
例如,第一时间周期为2014年,第二时间周期为2015年。目标时间段为2015年9月,第一时间段、第三时间段、第二时间段均为目标时间段之前的时间段。与目标时间段对应的第一时间段可以为2014年9月。如果在第一时间周期选择的第二时间段为2014年8月,则在第二时间周期选择的第三时间段可以为2015年8月。如果在第一时间周期选择的第二时间段为2014年7月,则在第二时间周期选择的第三时间段可以为2015年7月。
再如,第一时间周期为2014年,第二时间周期为2015年。目标时间段为2015年9月1日,与目标时间段对应的第一时间段为2014年9月1日。如果在第一时间周期选择的第二时间段为2014年8月1日,则在第二时间周期选择的第三时间段为2015年8月1日。
在一种实施方式中,根据所述被测设备在目标时间段的预估流量,构造测试请求列表,包括:
根据所述预估流量,获取预估请求列表;
根据预设的请求列表组成比例,对所述预估请求列表进行校验,获取校验结果;
根据所述校验结果,对所述预估请求列表进行调整,获取所述测试请求列表。
在本发明实施例中,请求列表中可以包括各种不同类型的请求,这些请求的比例关系可以称为请求列表的组成比例。为了尽量使得测试时使用的测试请求列表与实际的请求列表接近,可以根据历史数据预设请求列表的组成比例。
在本发明实施例中,根据所述校验结果,对所述预估请求列表进行调整,例如,如果校验结果指示预估请求列表中的第一类请求组成比例低于相应的预设比例,那么增加第一类请求的数量。再如,若校验结果指示预估请求列表中第二类请求组成比例高于相应的预设比例,那么减少第二类请求的数量。
在一种实施方式中,所述被测设备为地图导航服务器集群;根据所述预估流量,获取预估请求列表,包括:
将所述预估流量转化为基础请求列表;
根据在目标时间段之前的流量日志中的起点信息和终点信息,对所述基础请求列表中的起点信息和终点信息进行替换,获取初步调配请求列表;
调整所述初步调配请求列表中的请求来源的比例,获取二次调配请求列表;
按照预设规则,调整二次调配请求列表的组成比例,获取预估请求列表。
地图作为一种工具类产品,对其线上稳定性与可用性的要求很高,尤其在节假日期间,人们的出行越来越依赖于手机地图。因此亟需一种有效且准确的容量测试方法,对地图导航服务端的容量进行准确评估,保障用户出行,提升产品的稳定性,吸引更多的用户使用。本发明实施例提供测试地图导航服务器集群的容量的测试方法,能够在低成本、低人力消耗的情况下,对地图导航服务器集群进行测试,具有更好的测试效果和更广泛的使用范围。
在本发明实施例中,若被测设备为地图导航服务器集群,那么测试请求列表包含多个地图导航请求,包括路线计算请求、位置查找请求、距离计算请求、时间计算请求等。地图导航请求数据与其它类型的网络数据区别点在于,请求通常为连续请求,请求与请求之间存在关联。而且,地图导航请求在节假日的数量与工作日的数量存在较大不同,算路距离、流量来源等也存在很多不同之处。例如,节假日时,旅游热门地点的导航请求量增多。寒暑假时,长途导航请求量增多。再次,地图导航***下游模块众多,各个模块达到峰值的时间点存在差异。例如,流量请求高峰时间点与算路请求高峰时间点存在区别。基于地图导航服务的特殊性,地图导航服务的请求量可能常常会因为时间段的不同而发生很大的变动,容量预测对于地图导航服务而言具有更高的重要性。
在本发明实施例中,按照预设规则,调整二次调配请求列表的组成比例,可以是,按照关于起点信息和终点信息相关的规则和关于请求来源比例相关的规则之外的其它预设规则,调整二次调配请求列表。
图2示出根据本发明实施例的容量测试方法的流程图。本实施例中的步骤S11-S13可以参见上述实施例中的相关描述,在此不再赘述。
与上述实施例的不同之处在于,如图2所示,将所述测试请求列表输入所述被测设备,获取所述被测设备的容量之后,还包括:
步骤S21:根据所述被测设备的容量和所述预估流量,对所述被测设备进行扩容。
在本发明实施例中,根据所述被测设备的容量和所述预估流量,对所述被测设备进行扩容,可以是根据预估流量减去被测设备的容量的差值进行扩容,使得扩充以后的容量不小于预估流量。从而保证被测设备能够在现实流量不超过预估流量的情况下,能够正常工作。
在一种实施方式中,所述被测设备包括多个设备,根据所述被测设备的容量,对所述被测设备进行扩容,包括:
采用下式分别计算每个被测设备的预留量:
其中,k为设备总数,Buffer为第i个设备的预留量,ni为第i个设备的预估流量,nj为第j个设备的预估流量,nm为所述多个设备的预估流量的最大值;
根据每个所述被测设备的所述预留量和所述预估流量,分别计算每个所述被测设备的扩充容量。
在本发明一种示例中,被测设备为地图导航服务器集群,分布于4个机房中。导航服务***下的各个模块,在4个机房中均有一定数量的分布。地图导航是一个连续且前后相关联的过程,主要涉及到了初始状态存储,Redis(REmote DIctionary Server,远程字典服务)内容校验等。地图导航服务过程如图3所示,包括:
步骤S31:接收起点信息和终点信息。起点信息和终点信息为导航服务请求者输入的信息。
步骤S32:根据起点信息和终点信息,判断是否存在多个起点或多个终点,若是,进入步骤S33,若否,获取起点和终点,进入步骤S34。
步骤S33:接收车牌信息和选择偏好信息。车牌信息和选择偏好信息为导航服务请求者输入的信息。
步骤S34:根据选择信息,选择起点或终点。
步骤S35:计算路线,并排列路线。例如,将按照优化程度的顺序,将多个路线排列显示,或者将前三最佳路线选出并显示。
步骤S36:根据路线选择信息,启动导航。本发明示例中,路线选择信息为导航服务请求者输入的信息。
步骤S37:判断是否获取到缓存中存储的行前路线,若是,进入步骤S39,若否,进入步骤S38。在本示例中,行前路线,之前出行请求导航服务的历史路线。
步骤S39:根据最新获取的行中路况,重新计算当前位置到终点之间的路线,并推荐。
步骤S38:报错,返回错误码。
步骤S310:根据获取的最新位置信息,判定到达终点,结束导航。
在本发明示例中,容量测试方法应用于地图导航服务时,首先构造测试请求列表,然后对4个机房依次进行测试,如图4所示,测试方法包括如下步骤:
步骤S41:计算第一时间段的流量与第二时间段的流量的比值,所述第一时间段与所述第二时间段处于第一时间周期。首先通过同比的方式计算比值。以算路流量占比为例:设2018年10月1日之前2周的周六算路最高峰时的算路比例为X1,2018年10月1日当天算路最高峰时的算路比例为X2,第一时间段的流量与第二时间段的流量的比值为X1/X2,抽取相应时间段的日志文件获取相应的算路比例。例如,抽取2018年10月1日之前2周的周六11点的日志文件,获取11点算路最高峰时的算路比例。
步骤S42:将所述比值乘以第三时间段的流量,获取所述被测设备在目标时间段的预估流量,所述第三时间段和所述目标时间段处于第二时间周期。在本示例中,设2019年国庆前2周的周六算路最高峰时的算路比例为Y1,则推测2019年10月1日当天算路最高峰时的算路比例为X2/X1×Y1。
步骤S43:将所述预估流量转化为基础请求列表。本示例中,在目标时间段前数周通过日志转换、抽稀、排序的方式,或实际时序录制等方式将线上算路高峰期流量转换成基础版的JSON格式的请求列表,即基础请求列表,作为构造测试请求列表的基础。
步骤S44:根据在目标时间段之前的流量日志中的起点信息和终点信息,对所述基础请求列表中的起点信息和终点信息进行替换,获取初步调配请求列表。
步骤S45:调整所述初步调配请求列表中的请求来源的比例,获取二次调配请求列表。在本示例中,调整初步调配请求列表中各流量来源比例:调整几种主要来请求来源的比例,使之符合节假日(即10月1日)的成分比例。请求来源可以是手机客户端、Web(网页)主站、开放平台、API(Application Programming Interface,应用程序编程接口)接口等。
步骤S46:按照预设规则,调整二次调配请求列表的组成比例,获取预估请求列表。在步骤S41执行之前,可以根据目标时间段的特点,对流量影响因素进行预估。例如,若目标时间段为节假日,则根据节假日的特点,预估流量影响因素。根据流量影响因素,获取步骤S45中二次调配的调配规则以及步骤S46中的组成比例调配规则。在本示例中,调整二次调配请求列表中的其他影响因子的成分。如带车牌的比例、不同版本的分布比例、行中推荐的比例等。并且驾车导航模块的请求源众多,有手机端、PC(Personal Computer,个人计算机)端、开放平台、API接口等。不同的数据源给服务器集群中的各个模块的压力也不同。根据步骤S44-S46,获取的预估请求列表,能够更加接近目标时间段的实际情况。
步骤S47:根据预设的请求列表组成比例,对所述预估请求列表进行校验,获取校验结果。得到预估请求列表之后,需要对预估请求列表的组成比例进行校验,保证测试用的测试请求列表符合预期,可以模拟真实的目标时间段流量,与目标时间段的特性符合。例如,10月1日为节假日,在容量测试之前,对这一节假日的流量因素进行预估。节假日时远途导航请求量增加,导航请求总量增加。根据节假日的流量因素对预估请求列表进行校验。校验时,首先进行词表前验,在预设的测试环境进行测试请求列表的先验,主要校验的点为:算路距离的分布、算路流量的占比、各种流量来源的比例、带车牌的比例等。其次进行词表后验,在线上环境进行测试请求列表的后验,此时关注的指标为:下游模块的流量转化比例、下游模块的单位流量CPU的消耗等。部分场景下还需要注意单路线、多路线的比例,一般情况下多路线对下游算路模块的性能消耗是单路线的数倍。
步骤S48:根据所述校验结果,对所述预估请求列表进行调整,获取所述测试请求列表。
步骤S49:将单个机房流量切空。
步骤S410:利用测试请求列表测试单个机房,并实时关注导航***的各项指标,观察机房是否存在流量过限的异常状况。
步骤S411:评价测试结果,根据测试结果对单个机房进行扩容。
利用类似的步骤,对扩容后的机房再次进行容量测试,直至容量满足要求。在本发明示例中,容量满足要求,可以指容量不小于预估流量和预留量之和。扩容时,每个机房预留一定预留量的服务器,如满足N+1冗余,保证某个机房出现问题后可以将流量切至其他机房。设a、b、c、d四个机房的预估流量分别为n1、n2、n3、n4,计算a机房需要的预留量时,假设其余三个机房中流量最大的机房(c机房)服务出现异常需要切流量,则此时a机房需要分担的流量为:Buffer=n1/(n1+n2+n4)*n3,此值即为a机房需要预留的预留量。
在本发明示例中,在计算预留量的同时还要注意观察流量是否可以抵达全***的每个模块且可以准确压测出极限,对于那些流量无法抵达或者无法准确压测到真实容量的模块(如Redis),需要进行专门的容量评估。
本发明实施例还提供一种容量测试装置。该装置主要组成部分如图5所示,包括:
流量预估模块51:用于根据被测设备的在目标时间段之前的流量,获取所述被测设备在目标时间段的预估流量;
测试请求列表构造模块52:用于根据所述被测设备在所述目标时间段的预估流量,构造测试请求列表;
容量获取模块53:用于将所述测试请求列表输入所述被测设备,获取所述被测设备的容量。
在一种实施方式中,所述流量预估模块包括:
同比计算单元:用于计算第一时间段的流量与第二时间段的流量的比值,所述第一时间段与所述第二时间段处于第一时间周期;
环比计算单元:用于将所述比值乘以第三时间段的流量,获取所述被测设备在目标时间段的预估流量,所述第三时间段和所述目标时间段处于第二时间周期;
其中,所述第一时间段、所述第二时间段和所述第三时间段在所述目标时间段之前,所述第一时间周期在所述第二时间周期之前,所述第一时间周期与所述第二时间周期具有相同的周期长度,所述第一时间段与所述目标时间段的长度为第一设定值,所述第二时间段与所述第三时间段的长度为第二设定值。
在一种实施方式中,所述测试请求列表构造模块包括:
预估请求列表获取单元:用于根据所述预估流量,获取预估请求列表;
校验单元:用于根据预设的请求列表组成比例,对所述预估请求列表进行校验,获取校验结果;
校验调整单元:用于根据所述校验结果,对所述预估请求列表进行调整,获取所述测试请求列表。
在一种实施方式中,所述被测设备为地图导航服务器集群;预估请求列表获取单元包括:
转化子单元:用于将所述预估流量转化为基础请求列表;
第一调配子单元:用于根据在目标时间段之前的流量日志中的起点信息和终点信息,对所述基础请求列表中的起点信息和终点信息进行替换,获取初步调配请求列表;
第二调配子单元:用于调整所述初步调配请求列表中的请求来源的比例,获取二次调配请求列表;
第三调配子单元:用于按照预设规则,调整二次调配请求列表的组成比例,获取预估请求列表。
在一种实施方式中,本实施例中的流量预估模块51、测试请求列表构造模块52和容量获取模块53可以参见上述实施例中的相关描述,在此不再赘述。与图5不同的是,参照图6所示,所述装置还包括:
扩容模块61:用于根据所述被测设备的容量和所述预估流量,对所述被测设备进行扩容。
在一种实施方式中,所述扩容模块包括:
预留量计算单元:用于采用下式分别计算每个被测设备的预留量:
其中,k为设备总数,Buffer为第i个设备的预留量,ni为第i个设备的预估流量,nj为第j个设备的预估流量,nm为所述多个设备的预估流量的最大值;
扩充容量计算单元:用于根据每个所述被测设备的所述预留量和所述预估流量,分别计算每个所述被测设备的扩充容量。
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
图7示出根据本发明实施例的容量测试设备的结构框图。如图7所示,该设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。所述处理器920执行所述计算机程序时实现上述实施例中的容量测试方法。所述存储器910和处理器920的数量可以为一个或多个。
该设备还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
存储器910可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent Interconnect)总线或扩展工业标准体系结构(EISA,Extended IndustryStandard Architecture)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获取所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种容量测试方法,其特征在于,包括:
根据被测设备的在目标时间段之前的流量,获取所述被测设备在目标时间段的预估流量;
根据所述被测设备在所述目标时间段的预估流量,构造测试请求列表,在所述被测设备为地图导航服务器集群的情况下,包括:
将所述预估流量转化为基础请求列表;
根据在目标时间段之前的流量日志中的起点信息和终点信息,对所述基础请求列表中的起点信息和终点信息进行替换,获取初步调配请求列表;
调整所述初步调配请求列表中的请求来源的比例,获取二次调配请求列表;
按照预设规则,调整二次调配请求列表的组成比例,获取预估请求列表,所述预估请求列表用于获取所述测试请求列表;
将所述测试请求列表输入所述被测设备,获取所述被测设备的容量。
2.根据权利要求1所述的方法,其特征在于,根据被测设备的在目标时间段之前的流量,获取所述被测设备在目标时间段的预估流量,包括:
计算第一时间段的流量与第二时间段的流量的比值,所述第一时间段与所述第二时间段处于第一时间周期;
将所述比值乘以第三时间段的流量,获取所述被测设备在目标时间段的预估流量,所述第三时间段和所述目标时间段处于第二时间周期;
其中,所述第一时间段、所述第二时间段和所述第三时间段在所述目标时间段之前,所述第一时间周期在所述第二时间周期之前,所述第一时间周期与所述第二时间周期具有相同的周期长度,所述第一时间段与所述目标时间段的长度为第一设定值,所述第二时间段与所述第三时间段的长度为第二设定值。
3.根据权利要求1所述的方法,其特征在于,根据所述被测设备在目标时间段的预估流量,构造测试请求列表,包括:
根据所述预估流量,获取预估请求列表;
根据预设的请求列表组成比例,对所述预估请求列表进行校验,获取校验结果;
根据所述校验结果,对所述预估请求列表进行调整,获取所述测试请求列表。
4.根据权利要求1所述的方法,其特征在于,将所述测试请求列表输入所述被测设备,获取所述被测设备的容量之后,还包括:
根据所述被测设备的容量和所述预估流量,对所述被测设备进行扩容。
6.一种容量测试装置,其特征在于,包括:
流量预估模块:用于根据被测设备的在目标时间段之前的流量,获取所述被测设备在目标时间段的预估流量;
测试请求列表构造模块:用于根据所述被测设备在所述目标时间段的预估流量,构造测试请求列表;
容量获取模块:用于将所述测试请求列表输入所述被测设备,获取所述被测设备的容量;
所述被测设备为地图导航服务器集群的情况下,所述测试请求列表构造模块包括:
转化子单元:用于将所述预估流量转化为基础请求列表;
第一调配子单元:用于根据在目标时间段之前的流量日志中的起点信息和终点信息,对所述基础请求列表中的起点信息和终点信息进行替换,获取初步调配请求列表;
第二调配子单元:用于调整所述初步调配请求列表中的请求来源的比例,获取二次调配请求列表;
第三调配子单元:用于按照预设规则,调整二次调配请求列表的组成比例,获取预估请求列表,所述预估请求列表用于获取所述测试请求列表。
7.根据权利要求6所述的装置,其特征在于,所述流量预估模块包括:
同比计算单元:用于计算第一时间段的流量与第二时间段的流量的比值,所述第一时间段与所述第二时间段处于第一时间周期;
环比计算单元:用于将所述比值乘以第三时间段的流量,获取所述被测设备在目标时间段的预估流量,所述第三时间段和所述目标时间段处于第二时间周期;
其中,所述第一时间段、所述第二时间段和所述第三时间段在所述目标时间段之前,所述第一时间周期在所述第二时间周期之前,所述第一时间周期与所述第二时间周期具有相同的周期长度,所述第一时间段与所述目标时间段的长度为第一设定值,所述第二时间段与所述第三时间段的长度为第二设定值。
8.根据权利要求6所述的装置,其特征在于,所述测试请求列表构造模块包括:
预估请求列表获取单元:用于根据所述预估流量,获取预估请求列表;
校验单元:用于根据预设的请求列表组成比例,对所述预估请求列表进行校验,获取校验结果;
校验调整单元:用于根据所述校验结果,对所述预估请求列表进行调整,获取所述测试请求列表。
9.根据权利要求8所述的装置,其特征在于,预估请求列表获取单元包括所述转化子单元、所述第一调配子单元、所述第二调配子单元和所述第三调配子单元。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
扩容模块:用于根据所述被测设备的容量和所述预估流量,对所述被测设备进行扩容。
12.一种容量测试设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的方法。
13.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487613.5A CN110213104B (zh) | 2019-06-05 | 2019-06-05 | 容量预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487613.5A CN110213104B (zh) | 2019-06-05 | 2019-06-05 | 容量预测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213104A CN110213104A (zh) | 2019-09-06 |
CN110213104B true CN110213104B (zh) | 2022-04-08 |
Family
ID=67791097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910487613.5A Active CN110213104B (zh) | 2019-06-05 | 2019-06-05 | 容量预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213104B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978944B (zh) * | 2022-05-13 | 2024-06-04 | 北京百度网讯科技有限公司 | 压力测试方法、装置及计算机程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411757A (zh) * | 2011-08-05 | 2012-04-11 | 中国工商银行股份有限公司 | 一种大型主机cpu容量预测方法及*** |
CN104866408A (zh) * | 2014-02-20 | 2015-08-26 | 阿里巴巴集团控股有限公司 | 一种应用***的容量预测方法和装置 |
CN107395447A (zh) * | 2016-03-09 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 模块检测方法、***容量预估方法及相应的设备 |
CN108011764A (zh) * | 2017-12-07 | 2018-05-08 | 国云科技股份有限公司 | 一种预测多云平台存储资源增长量的方法 |
CN109309596A (zh) * | 2017-07-28 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 一种压力测试方法、装置及服务器 |
CN109412829A (zh) * | 2018-08-30 | 2019-03-01 | 华为技术有限公司 | 一种资源配置的预测方法及设备 |
-
2019
- 2019-06-05 CN CN201910487613.5A patent/CN110213104B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411757A (zh) * | 2011-08-05 | 2012-04-11 | 中国工商银行股份有限公司 | 一种大型主机cpu容量预测方法及*** |
CN104866408A (zh) * | 2014-02-20 | 2015-08-26 | 阿里巴巴集团控股有限公司 | 一种应用***的容量预测方法和装置 |
CN107395447A (zh) * | 2016-03-09 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 模块检测方法、***容量预估方法及相应的设备 |
CN109309596A (zh) * | 2017-07-28 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 一种压力测试方法、装置及服务器 |
CN108011764A (zh) * | 2017-12-07 | 2018-05-08 | 国云科技股份有限公司 | 一种预测多云平台存储资源增长量的方法 |
CN109412829A (zh) * | 2018-08-30 | 2019-03-01 | 华为技术有限公司 | 一种资源配置的预测方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110213104A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
De La Vega et al. | Robust optimization for the vehicle routing problem with multiple deliverymen | |
CN109582550B (zh) | 一种获取全量业务场景故障集合的方法、装置及服务器 | |
CN105203120B (zh) | 导航路线评测方法及装置 | |
CN111858296B (zh) | 接口测试方法、装置、设备和存储介质 | |
US10488206B2 (en) | Method and system for improving spatial accuracy of map data | |
CN108319550A (zh) | 一种测试***及测试方法 | |
US11004333B2 (en) | Detecting influential factors for traffic congestion | |
CN110262959A (zh) | 底层服务压力测试方法、装置、电子设备及存储介质 | |
CN110213104B (zh) | 容量预测方法及装置 | |
CN113722409A (zh) | 空间关系的确定方法、装置、计算机设备及存储介质 | |
CN110427574B (zh) | 路线相似度确定方法、装置、设备和介质 | |
CN110971478B (zh) | 云平台服务性能的压测方法、装置及计算设备 | |
CN108256707B (zh) | 保单回访管理方法和装置 | |
CN110198517B (zh) | 一种基于自学习路径选择的端口扫描方法和*** | |
CN116955148A (zh) | 业务***测试方法、装置、设备、存储介质及产品 | |
CN111260384A (zh) | 服务订单处理方法、装置、电子设备及存储介质 | |
CN109558152A (zh) | ***灰度发布时流量切换方法、装置、介质及电子设备 | |
CN113704114A (zh) | 功能接口的自动化测试方法、装置、设备及介质 | |
CN108415981B (zh) | 数据维度生成方法、装置、设备以及计算机可读存储介质 | |
CN116860904B (zh) | 一种基于去中心化网络的目标追踪方法及装置 | |
JP2021140332A (ja) | 管路事故リスク評価方法 | |
CN112541514A (zh) | 事件发布方法、服务器、终端及存储介质 | |
CN118036853B (zh) | 一种个体出行链生成方法、装置及存储介质 | |
CN110955549B (zh) | 故障内存判定方法、装置及电子设备 | |
CN117453572A (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 |