CN110618922B - 性能测试方法及相关设备 - Google Patents
性能测试方法及相关设备 Download PDFInfo
- Publication number
- CN110618922B CN110618922B CN201910767630.4A CN201910767630A CN110618922B CN 110618922 B CN110618922 B CN 110618922B CN 201910767630 A CN201910767630 A CN 201910767630A CN 110618922 B CN110618922 B CN 110618922B
- Authority
- CN
- China
- Prior art keywords
- data
- data set
- target
- historical data
- test
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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 performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3457—Performance evaluation by simulation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种性能测试方法及相关设备,其中方法包括:获取待测应用在预设高峰时段的历史数据集,以及获取所述预设高峰时段对应的预热时段中的数据流量;将所述历史数据集中每一历史数据进行模拟处理得到测试数据集;根据所述历史数据集和所述数据流量,从预先存储的模拟数据集中选取目标数据得到目标数据集;通过运行预设监控函数获取所述测试数据集和所述目标数据集对应的运行参数;根据所述运行参数确定所述待测应用的性能数据。采用本申请,可提高应用性能测试的准确性,便于提高资源利用率。
Description
技术领域
本申请涉及数据处理技术领域,主要涉及了一种性能测试方法及相关设备。
背景技术
目前,对于互联网应用的性能测试,首先是基于开发或测试人员的经验得到经验性测试模型,再通过性能测试工具在测试环境中模拟压测,得到该应用的系统容量、响应时间和内存使用率等性能数据。然而,在实际应用中,测试环境和生产环境存在一定差异,导致性能测试的准确性较差。
发明内容
本申请实施例提供了一种性能测试方法及相关设备,可提高应用性能测试的准确性,便于提高资源利用率。
第一方面,本申请实施例提供一种性能测试方法,其中:
获取待测应用在预设高峰时段的历史数据集,以及获取所述预设高峰时段对应的预热时段中的数据流量;
将所述历史数据集中每一历史数据进行模拟处理,得到测试数据集;
根据所述历史数据集和所述数据流量,从预先存储的模拟数据集中选取目标数据,得到目标数据集;
通过运行预设监控函数,获取所述测试数据集和所述目标数据集对应的运行参数;
根据所述运行参数确定所述待测应用的性能数据。
第二方面,本申请实施例提供一种性能测试装置,其中:
获取单元,用于获取待测应用在预设高峰时段的历史数据集,以及获取所述预设高峰时段对应的预热时段中的数据流量;
处理单元,用于将所述历史数据集中每一历史数据进行模拟处理,得到测试数据集;
选取单元,用于根据所述历史数据集和所述数据流量,从预先存储的模拟数据集中选取目标数据,得到目标数据集;
所述获取单元,还用于通过运行预设监控函数,获取所述测试数据集和所述目标数据集对应的运行参数;
确定单元,用于根据所述运行参数确定所述待测应用的性能数据。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,所述程序包括用于如第一方面中所描述的部分或全部步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储计算机程序,其中,所述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
实施本申请实施例,将具有如下有益效果:
采用了上述的性能测试方法及相关设备之后,对待测应用在预设高峰时段的历史数据集中每一历史数据进行模拟处理得到测试数据集,再根据所述历史数据集和所述预设高峰时段对应的预热时段中的数据流量,从预先存储的模拟数据集中选取目标数据得到目标数据集。然后,通过运行预设监控函数获取所述测试数据集和所述目标数据集对应的运行参数,并根据所述运行参数确定所述待测应用的性能数据。如此,基于实际生产环境中的历史数据和测试环境中的模拟数据进行性能测试,提高了应用性能测试的准确性。此外,可基于该性能数据调整系统资源,便于提高资源利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为本申请实施例提供的一种性能测试方法的流程示意图;
图2为本申请实施例提供的一种性能测试装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。根据本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面对本申请实施例进行详细介绍。
请参照图1,本申请实施例提供一种性能测试方法的流程示意图。该性能测试方法应用于电子设备。本申请实施例所涉及到的电子设备可以包括各种具有无线通信功能的手持设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,UE),移动台(mobile station,MS),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为电子设备。
本申请提出一种性能测试方法及相关设备,可提高应用性能测试的准确性,便于提高资源利用率。
具体的,如图1所示,一种性能测试方法,应用于电子设备,包括:
S101、获取待测应用在预设高峰时段的历史数据集,以及获取所述预设高峰时段对应的预热时段中的数据流量。
在本申请实施例中,待测应用可以是即时通讯应用、游戏应用、购物应用、页面浏览应用等,在此不做限定。需要说明的是,待测应用可以是单独的应用,也可以是应用中的插件或小程序。
在本申请实施例中,预设高峰时段可根据促销活动对应的时段获取,例如:双11大促对应的时段为11月11日、618大促对应的时段为6月19日-6月20日、38大促对应的时段为3月8日-3月10日等;高峰时段也可针对每天的访问量获取,例如:10点-12点,20点-22点等,在此不做限定。
在本申请实施例中,历史数据集是指预设高峰时段对应的历史时段内,待测应用上所提交的请求数据。该历史时段可以是所有的历史时段,也可以是某一段较近时间的时间,例如,在一个购物应用中,预设高峰时段为2019年11月11日,则历史数据集为2018年11月11日、2017年11月11日和2016年11月11日等各个用户进入该购物应用到退出该应用的请求数据等。
历史数据集包括多个历史数据,每一历史数据至少包括用户标识和请求数据。用户标识为用户在待测应用中所注册的标识,具有唯一性。请求数据可按照业务类型进行分类,以购物应用进行举例说明,业务类型包括搜索业务类型、浏览业务类型、分享业务类型、加购业务类型、领券业务类型、付款业务类型等多种业务类型,则请求数据包括搜索业务数据、浏览业务数据、分享业务数据、加购业务数据、领券业务数据、付款业务数据等,在此不做限定。
在本申请实施例中,预设高峰时段对应的预热时段为各大促销活动对应的预览时段,例如:双11大促的预热时段为11月1日-11月10日。数据流量可以是该预热时段对应的流量总数,也可以是该预热时段对应的平均流量,在此不作限定。
S102、将所述历史数据集中每一历史数据进行模拟处理,得到测试数据集。
在本申请实施例中,测试数据集包括多个测试数据,每一测试数据是由历史数据进行模拟处理得到的。模拟处理是指将历史数据替换为模拟数据,即将某个用户的请求替换成一个虚拟用户的请求,用户数据也替换成虚拟用户数据。可以理解,在模拟处理历史数据之后,可采用模拟的生产数据对待测应用进行测试,提高了性能测试的准确性,且不影响原始用户的使用,也不影响待测应用的正常运行。
本申请对于模拟处理方法不做限定,以目标历史数据进行举例说明。该目标历史数据是历史数据集中的任一历史数据,所述测试数据集包括该目标历史数据对应的目标测试数据。该目标测试数据包括虚拟用户标识和虚拟用户数据。其中,虚拟用户标识为对目标历史数据中的用户标识进行模拟处理得到的用户标识。虚拟用户数据为对目标历史数据中的用户数据进行模拟处理得到的用户数据。用户数据包括用户提交的请求数据或该请求数据所涉及的调用数据,以购物应用进行举例说明,虚拟用户数据包括虚拟商品库存数据或虚拟供货商等。
在一种可能的实施例中,步骤S102包括以下步骤S11-S14,其中:
S11、按照预设命名算法对所述目标历史数据的用户标识进行转化处理,得到所述虚拟用户标识。
在本申请实施例中,预设命名算法可以是将用户标识中加入特殊字符,该特殊字符可以是字母,也可以是符号等。例如:用户标识为lpy123,特殊字符为MN,则虚拟用户标识为MNlpy123等。预设命名算法也可以将用户标识中的英文字符进行大小写转换或英文转换,数字按照10进制转化为2进制等,例如:用户标识为lpy123,将英文转化为字母表的后5个字符,即qud123。需要说明的是,转换后的虚拟用户标识没有添加在该待测应用存储的数据库中,即不影响待测应用的使用。
S12、确定所述目标历史数据的业务类型。
业务类型如前所述,包括搜索业务类型、浏览业务类型、分享业务类型、加购业务类型、领券业务类型、付款业务类型等。目标历史数据的业务类型可根据该目标历史数据的功能类型进行确定。
S13、确定所述业务类型对应的多个业务接口。
其中,业务类型对应的业务接口为该业务类型可能调用的功能函数。举例说明,若目标历史数据的业务类型为加购业务类型,则加购业务类型可能调用的功能函数为货品展示函数和库存剩余函数,对应的业务接口包括货品展示接口和库存业务接口。
S14、获取所述多个业务接口中每一业务接口对应的预设模拟数据,得到所述虚拟用户数据。
可以理解,在步骤S11-S14中,以历史数据集中的目标历史数据进行举例说明,先按照预设命名算法转换目标历史数据的用户标识,再按照目标历史数据的业务类型确定多个业务接口,再获取各个业务接口对应的预设模拟数据以得到虚拟用户数据。如此,提高了获取测试数据的准确性,且分别模拟了用户标识和用户数据,便于提高性能测试的准确性。
S103、根据所述历史数据集和所述数据流量从预先存储的模拟数据集中选取目标数据得到目标数据集。
在本申请实施例中,目标数据集用于与历史数据集一起,对预设高峰时段的待测应用进行测试。可以理解,历史数据为预设高峰时段的参考数据,在本申请实施例中,还构建了除了历史数据集之外的目标数据进行测试。也就是说,在生产数据的基础上,构造了部分模拟数据。如此,可提高性能测试的准确性。
本申请对于选取目标数据的方法不做限定,在一种可能的实施例中,步骤S103包括S21-S24,其中:
S21、按照预估算法计算得到所述数据流量对应的测试模拟量。
其中,测试模拟量可以理解为按照预估算法和预热时段的数据流量计算得到的数据流量。由于预热时段的数据流量可体现用户对于预设高峰时段的关注度,根据预热时段的数据流量估算预设高峰时段的数据流量,可提高测试的准确性。
本申请对于预估算法也不做限定,在一种可能的实施例中,步骤S21包括以下步骤S211-S213,其中:
S211、获取所述预热时段中优惠券的领取数量和发放数量。
其中,优惠券包括满减优惠券、无门槛优惠券、定金支付券等。领取数量可以是领取的总数,也可以是同一个网络地址或同一个用户标识对应的领取总数等,在此不做限定。发放数量为待测应用中预设的优惠券的总数。可以理解,优惠券的领取数量和发放数量之间的比值可模拟购买情况。
S212、计算所述领取数量和所述发放数量之间的第一比值。
S213、计算所述第一比值和所述数据流量之间的乘积,得到测试模拟量。
可以理解,在步骤S211-S213中,先获取领取数据和发放数量之间的第一比值,再根据第一比值和数据流量获取测试模拟量,可提高获取测试模拟量的准确性。
S22、计算所述测试模拟量和所述历史数据集之间的差值,得到目标数据集的数据总量。
也就是说,数据总量为目标数据集中目标数据的数量。
S23、对所述多个历史数据集进行业务分类,得到多个第一数据子集。
其中,业务分类可包括搜索业务数据、浏览业务数据、分享业务数据、加购业务数据、付款业务数据等,即根据请求数据对应的功能业务进行分类。每一第一数据子集对应一个业务类型。
S24、根据所述多个第一数据子集之间的比值和所述数据总量,从预先存储的模拟数据集中选取目标数据,得到所述目标数据集。
也就是说,从预先存储的模拟数据集中选取与各个第一数据子集的业务类型对应的目标数据,且同一业务类型的目标数据的数量为对应的第一数据子集与数据总量之间的乘积。
可以理解,在步骤S21-S24中,先根据预热时段的数据流量获取预设高峰时段对应的测试模拟量,然后根据测试模拟量和历史数据集之间的差值确定目标数据集的数据流量。再获取多个历史数据集中各类业务数据之间的比值,最后根据该比值和数据流量从模拟数据集中选取目标数据得到目标数据集。如此,根据预热时段的数据流量和历史数据集选取目标数据,可提高获取目标数据集的准确性,便于模拟真实的测试环境。
S104、通过运行预设监控函数获取所述测试数据集和所述目标数据集对应的运行参数。
在本申请实施例中,预设监控函数用于监控测试数据输入至待测应用时的运行参数,即监控测试数据集和目标数据集中任一数据输入至待测应用时的运行参数。该运行参数可包括待测应用执行测试数据的开始时间和完成时间、中央处理器(CentralProcessing Unit,CPU)执行测试数据的开始时间和完成时间、图形处理器(GraphicsProcessing Unit,GPU)执行测试数据的开始时间和完成时间、待测应用执行测试数据的过程中的剩余内存大小或使用内存大小、CPU执行测试数据的过程中的剩余CPU资源或占用CPU资源、GPU执行测试数据的过程中的剩余CPU资源或占用CPU资源等,在此不做限定。
本申请对于获取测试数据集和目标数据集对应的运行参数的方法不做限定,可在预设低峰时间到达时进行性能测试。该预设低峰时间可以为凌晨等低峰时段,也可以是各个预设高峰时段对应的低峰时段,例如:双11大促对应的预设低峰时间为凌晨4点-6点。
需要说明的是,本申请实施例针对模拟的测试数据集和构造的目标数据集进行测试,在实际运行过程中,即在预设低峰时间到达时,该待测应用中还输入了实际产生的生产数据。但由于基于预设低峰时间进行性能测试,且低峰时段的用户访问量较小,可减小发生事故的可能性,便于提高测试的准确性。
在本申请实施例中,还可按照预设数据输入速率输入测试数据,以得到对应的运行参数。本申请对于预设数据输入速率不做限定,在一种可能的实施例中,步骤S104包括步骤S31和步骤S32,其中:
S31、根据所述历史数据集中每一历史数据的请求时间获取预设数据输入速率。
其中,预设数据输入速率可以根据历史数据集中各个历史数据的请求时间之间的平均时间进行确定,也可以根据历史数据集中各个历史数据的请求时间之间的最大值或最小值进行确定,在此不做限定。在一种可能的实施例中,步骤S31包括以下步骤S311-S314,其中:
S311、根据所述历史数据集中每一历史数据的请求时间生成所述历史数据集对应的数据图像,所述数据图像包括多个峰值。
其中,数据图像描述了每一时间内的历史数据的数量,该数据图像中的峰值为某一时段的最大值,依据数据图像进行分析可获取数据流量的趋势。
S312、根据所述多个峰值将所述历史数据集中的数据进行划分,得到多个第二数据子集。
S313、获取所述多个第二数据子集中每一第二数据子集对应的输入速率,得到多个输入速率。
其中,输入速率可按照第二数据子集对应的数据流量总数和时间长度之间的比值得到,即将数据流量总数除以时间长度。
S314、根据所述多个输入速率获取预设数据输入速率。
本申请对于多个输入速率获取预设数据输入速率的方法不做限定,可直接获取多个输入速率之间的平均值,将该平均值作为预设数据输入速率。也可获取各个第二数据子集之间的时间比值,再确定该时间比值对应的权值,根据各个第二数据子集对应的输入速率和权值进行加权计算得到预设数据输入速率。
可以理解,在步骤S311-S314中,先获取历史数据集对应的数据图像,再依据数据图像中的峰值划分数据子集,并获取各个数据子集的输入速率,然后获取多个输入速率对应的预设数据输入速率。如此,基于较为真实的流量增长趋势,可提高应用性能测试的准确性,便于提高测试的准确性。
S32、通过运行预设监控函数获取所述测试数据集和所述目标数据集按照所述预设数据输入速率输入至所述待测应用时的运行参数。
可以理解,在步骤S31和步骤S32中,先根据历史数据集中每一历史数据的请求时间确定输入速率,再通过运行监控函数获取测试数据集和目标数据集按照该输入速率输入至待测应用时的运行参数。如此,通过输入速率控制测试数据的输入,可提高预设监控函数监控测试数据输入至待测应用时电子设备所对应的运行参数的准确性。
S105、根据所述运行参数确定所述待测应用的性能数据。
在本申请实施例中,性能数据包括待测应用执行测试数据的处理能力TPM(transaction per minute)、待测应用执行测试数据的响应时间和/或CPU使用率、GPU使用率、内存占用、内存峰值等。
本申请对于确定性能数据的方法不做限定,例如,响应时间可由待测应用执行测试数据的完成时间和开始时间之间的差值获取。再例如,内存占用可由待测应用执行完成时的使用内存大小和执行开始时的使用内存大小之间的差值获取,或者根据执行过程中的剩余内存大小或使用内存大小之间的平均值获取。又例如,内存峰值可由根据执行过程中的剩余内存大小或使用内存大小之间的最大值获取等。
可以理解,在如图1所示的方法中,对待测应用在预设高峰时段的历史数据集中每一历史数据进行模拟处理得到测试数据集,再根据所述历史数据集和所述预设高峰时段对应的预热时段中的数据流量,从预先存储的模拟数据集中选取目标数据得到目标数据集。然后,通过运行预设监控函数获取所述测试数据集和所述目标数据集对应的运行参数,并根据所述运行参数确定所述待测应用的性能数据。如此,基于实际生产环境中的历史数据和测试环境中的模拟数据进行性能测试,提高了应用性能测试的准确性。此外,可基于该性能数据调整系统资源,便于提高资源利用率。
在一种可能的实施例中,所述方法还包括步骤S41和步骤S42,其中:
S41、若所述性能数据大于预设阈值,则获取所述多个第一数据子集中每一第一数据子集对应的业务类型的平均运行时长,得到多个平均运行时长。
其中,平均运行时长为第一数据子集对应的业务类型完成业务请求的平均时间。本申请对于预设阈值不做限定,业务类型如前所述,在此不再赘述。
S42、根据所述多个平均运行时长调整所述待测应用的资源。
其中,资源可以是处理该测试数据对应的进程、线程、内存资源等。本申请对于调整资源的方法不做限定,在一种可能的实施例中,待测应用的资源为该待测应用的进程,步骤S42可包括以下步骤S421-S424,其中:
S421、确定平均运行时长大于时间阈值的业务类型为目标业务类型。
S422、确定所述目标业务类型对应的多个接口函数。
其中,目标业务类型为平均运行时长大于时间阈值的业务类型。接口函数为调用该业务类型对应的功能函数。
S423、获取所述多个接口函数中每一接口函数的使用频率,得到多个使用频率。
S424、根据所述多个使用频率增加所述多个接口函数的进程。
其中,可预先设置不同使用频率对应的进程数,也可预先设置不同使用频段对应的待增加的进程数,在此不做限定。通过使用频率增加处理接口函数的进程,可提高处理该接口函数的效率。
可以理解,函数是编程语言的最小单位,无数个函数通过相互调用组成一个应用程序。在步骤S421-S424中,先根据平均运行时间确定目标业务类型,再确定目标业务类型对应的多个接口函数,再根据各个接口函数的使用频率增加对应接口函数的进程数。如此,增加了处理接口函数的进程,可提高待测应用的处理效率。
在步骤S41和步骤S42中,若性能数据超过预设阈值,则待测应用难以支撑业务请求。因此,在该实施例中,获取各个业务类型的平均运行时长,再针对平均运行时长调整待测应用的资源,以避免在预设高峰时段运行时故障。
与图1的实施例一致,请参照图2,图2是本申请实施例提供的一种性能测试装置的结构示意图,所述装置应用于电子设备。如图2所示,上述性能测试装置200包括:
获取单元201,用于获取待测应用在预设高峰时段的历史数据集,以及获取所述预设高峰时段对应的预热时段中的数据流量;
处理单元202,用于将所述历史数据集中每一历史数据进行模拟处理,得到测试数据集;
选取单元203,用于根据所述历史数据集和所述数据流量,从预先存储的模拟数据集中选取目标数据,得到目标数据集;
所述获取单元201,还用于通过运行预设监控函数,获取所述测试数据集和所述目标数据集对应的运行参数;
确定单元204,用于根据所述运行参数确定所述待测应用的性能数据。
可以理解,对待测应用在预设高峰时段的历史数据集中每一历史数据进行模拟处理得到测试数据集,再根据所述历史数据集和所述预设高峰时段对应的预热时段中的数据流量,从预先存储的模拟数据集中选取目标数据得到目标数据集。然后,通过运行预设监控函数获取所述测试数据集和所述目标数据集对应的运行参数,并根据所述运行参数确定所述待测应用的性能数据。如此,基于实际生产环境中的历史数据和测试环境中的模拟数据进行性能测试,提高了应用性能测试的准确性。此外,可基于该性能数据调整系统资源,便于提高资源利用率。
在一个可能的示例中,所述选取单元203具体用于按照预估算法计算得到所述数据流量对应的测试模拟量;计算所述测试模拟量和所述历史数据集之间的差值,得到所述目标数据集的数据总量;对所述多个历史数据集进行业务分类,得到多个第一数据子集;根据所述多个第一数据子集之间的比值和所述数据总量,从预先存储的模拟数据集中选取目标数据,得到所述目标数据集。
在一个可能的示例中,所述选取单元203具体用于获取所述预热时段中优惠券的领取数量和发放数量;计算所述领取数量和所述发放数量之间的第一比值;计算所述第一比值和所述数据流量之间的乘积,得到测试模拟量。
在一个可能的示例中,所述测试数据集包括目标历史数据对应的目标测试数据,所述目标历史数据为所述历史数据集中的任一历史数据,所述目标测试数据包括虚拟用户标识和虚拟用户数据,所述处理单元202具体用于按照预设命名算法对所述目标历史数据的用户标识进行转化处理,得到所述虚拟用户标识;确定所述目标历史数据的业务类型;确定所述业务类型对应的多个业务接口;获取所述多个业务接口中每一业务接口对应的预设模拟数据,得到所述虚拟用户数据。
在一个可能的示例中,所述获取单元201具体用于根据所述历史数据集中每一历史数据的请求时间获取预设数据输入速率;通过运行预设监控函数,获取所述测试数据集和所述目标数据集按照所述预设数据输入速率输入至所述待测应用时的运行参数。
在一个可能的示例中,所述获取单元201具体用于根据所述历史数据集中每一历史数据的请求时间生成所述历史数据集对应的数据图像,所述数据图像包括多个峰值;根据所述多个峰值将所述历史数据集中的数据进行划分,得到多个第二数据子集;所述获取单元还用于获取所述多个第二数据子集中每一第二数据子集对应的输入速率,得到多个输入速率;根据所述多个输入速率获取预设数据输入速率。
在一个可能的示例中,所述获取单元201还用于若所述性能数据大于预设阈值,则获取所述多个第一数据子集中每一第一数据子集对应的业务类型的平均运行时长,得到多个平均运行时长;所述处理单元202还用于根据所述多个平均运行时长调整所述待测应用的资源。
在一个可能的示例中,所述待测应用的资源为所述待测应用的进程,所述处理单元202具体用于确定平均运行时长大于时间阈值的业务类型为目标业务类型;确定所述目标业务类型对应的多个接口函数;获取所述多个接口函数中每一接口函数的使用频率,得到多个使用频率;根据所述多个使用频率增加所述多个接口函数的进程。
与图1的实施例一致,请参照图3,图3是本申请实施例提供的一种电子设备的结构示意图。如图3所示,该电子设备300包括处理器310、存储器320、通信接口330以及一个或多个程序340,其中,上述一个或多个程序340被存储在上述存储器320中,并且被配置由上述处理器310执行,上述程序340包括用于执行以下步骤的指令:
获取待测应用在预设高峰时段的历史数据集,以及获取所述预设高峰时段对应的预热时段中的数据流量;
将所述历史数据集中每一历史数据进行模拟处理,得到测试数据集;
根据所述历史数据集和所述数据流量,从预先存储的模拟数据集中选取目标数据,得到目标数据集;
通过运行预设监控函数,获取所述测试数据集和所述目标数据集对应的运行参数;
根据所述运行参数确定所述待测应用的性能数据。
可以理解,对待测应用在预设高峰时段的历史数据集中每一历史数据进行模拟处理得到测试数据集,再根据所述历史数据集和所述预设高峰时段对应的预热时段中的数据流量,从预先存储的模拟数据集中选取目标数据得到目标数据集。然后,通过运行预设监控函数获取所述测试数据集和所述目标数据集对应的运行参数,并根据所述运行参数确定所述待测应用的性能数据。如此,基于实际生产环境中的历史数据和测试环境中的模拟数据进行性能测试,提高了应用性能测试的准确性。此外,可基于该性能数据调整系统资源,便于提高资源利用率。
在一个可能的示例中,在所述根据所述历史数据集和所述数据流量,从预先存储的模拟数据集中选取目标数据,得到目标数据集方面,所述程序340具体用于执行以下步骤的指令:
按照预估算法计算得到所述数据流量对应的测试模拟量;
计算所述测试模拟量和所述历史数据集之间的差值,得到目标数据集的数据总量;
对所述多个历史数据集进行业务分类,得到多个第一数据子集;
根据所述多个第一数据子集之间的比值和所述数据总量,从预先存储的模拟数据集中选取目标数据,得到所述目标数据集。
在一个可能的示例中,在所述按照预估算法计算得到所述数据流量对应的测试模拟量方面,所述程序340具体用于执行以下步骤的指令:
获取所述预热时段中优惠券的领取数量和发放数量;
计算所述领取数量和所述发放数量之间的第一比值;
计算所述第一比值和所述数据流量之间的乘积,得到测试模拟量。
在一个可能的示例中,所述测试数据集包括目标历史数据对应的目标测试数据,所述目标历史数据为所述历史数据集中的任一历史数据,所述目标测试数据包括虚拟用户标识和虚拟用户数据,所述程序340具体用于执行以下步骤的指令:
按照预设命名算法对所述目标历史数据的用户标识进行转化处理,得到所述虚拟用户标识;
确定所述目标历史数据的业务类型;
确定所述业务类型对应的多个业务接口;
获取所述多个业务接口中每一业务接口对应的预设模拟数据,得到所述虚拟用户数据。
在一个可能的示例中,在所述通过运行预设监控函数,获取所述测试数据集和所述目标数据集对应的运行参数方面,所述程序340具体用于执行以下步骤的指令:
根据所述历史数据集中每一历史数据的请求时间获取预设数据输入速率;
通过运行预设监控函数,获取所述测试数据集和所述目标数据集按照所述预设数据输入速率输入至所述待测应用时的运行参数。
在一个可能的示例中,在所述根据所述历史数据集中每一历史数据的请求时间获取预设数据输入速率方面,所述程序340具体用于执行以下步骤的指令:
根据所述历史数据集中每一历史数据的请求时间生成所述历史数据集对应的数据图像,所述数据图像包括多个峰值;
根据所述多个峰值将所述历史数据集中的数据进行划分,得到多个第二数据子集;
获取所述多个第二数据子集中每一第二数据子集对应的输入速率,得到多个输入速率;
根据所述多个输入速率获取预设数据输入速率。
在一个可能的示例中,所述程序340还用于执行以下步骤的指令:
若所述性能数据大于预设阈值,则获取所述多个第一数据子集中每一第一数据子集对应的业务类型的平均运行时长,得到多个平均运行时长;
根据所述多个平均运行时长调整所述待测应用的资源。
在一个可能的示例中,所述待测应用的资源为所述待测应用的进程,在所述根据所述多个平均运行时长调整所述待测应用的资源方面,所述程序340具体用于执行以下步骤的指令:
确定平均运行时长大于时间阈值的业务类型为目标业务类型;
确定所述目标业务类型对应的多个接口函数;
获取所述多个接口函数中每一接口函数的使用频率,得到多个使用频率;
根据所述多个使用频率增加所述多个接口函数的进程。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于存储计算机程序,该计算机程序使得计算机执行如方法实施例中记载的任一方法的部分或全部步骤,计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,计算机程序可操作来使计算机执行如方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模式并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模式的形式实现。
集成的单元如果以软件程序模式的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。根据这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(read-only memory,ROM)、随机存取存储器(randomaccess memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种性能测试方法,其特征在于,包括:
获取待测应用在预设高峰时段的历史数据集,以及获取所述预设高峰时段对应的预热时段中的数据流量;所述预设高峰时段对应的预热时段为活动的预览时段;
将所述历史数据集中每一历史数据进行模拟处理,得到测试数据集;
根据所述历史数据集和所述数据流量,从预先存储的模拟数据集中选取目标数据,得到目标数据集;
通过运行预设监控函数,获取所述测试数据集和所述目标数据集对应的运行参数;
根据所述运行参数确定所述待测应用的性能数据;
其中,所述根据所述历史数据集和所述数据流量,从预先存储的模拟数据集中选取目标数据,得到目标数据集,包括:
按照预估算法计算得到所述数据流量对应的测试模拟量;
计算所述测试模拟量和所述历史数据集之间的差值,得到目标数据集的数据总量;
对多个历史数据集进行业务分类,得到多个第一数据子集;
根据所述多个第一数据子集之间的比值和所述数据总量,从预先存储的模拟数据集中选取目标数据,得到所述目标数据集。
2.根据权利要求1所述的方法,其特征在于,所述按照预估算法计算得到所述数据流量对应的测试模拟量,包括:
获取所述预热时段中优惠券的领取数量和发放数量;
计算所述领取数量和所述发放数量之间的第一比值;
计算所述第一比值和所述数据流量之间的乘积,得到测试模拟量。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述测试数据集包括目标历史数据对应的目标测试数据,所述目标历史数据为所述历史数据集中的任一历史数据,所述目标测试数据包括虚拟用户标识和虚拟用户数据,所述将所述历史数据集中每一历史数据进行模拟处理,得到测试数据集,包括:
按照预设命名算法对所述目标历史数据的用户标识进行转化处理,得到所述虚拟用户标识;
确定所述目标历史数据的业务类型;
确定所述业务类型对应的多个业务接口;
获取所述多个业务接口中每一业务接口对应的预设模拟数据,得到所述虚拟用户数据。
4.根据权利要求1-2任一项所述的方法,其特征在于,所述通过运行预设监控函数,获取所述测试数据集和所述目标数据集对应的运行参数,包括:
根据所述历史数据集中每一历史数据的请求时间获取预设数据输入速率;
通过运行预设监控函数,获取所述测试数据集和所述目标数据集按照所述预设数据输入速率输入至所述待测应用时的运行参数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述历史数据集中每一历史数据的请求时间获取预设数据输入速率,包括:
根据所述历史数据集中每一历史数据的请求时间生成所述历史数据集对应的数据图像,所述数据图像包括多个峰值;
根据所述多个峰值将所述历史数据集中的数据进行划分,得到多个第二数据子集;
获取所述多个第二数据子集中每一第二数据子集对应的输入速率,得到多个输入速率;
根据所述多个输入速率获取预设数据输入速率。
6.根据权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:
若所述性能数据大于预设阈值,则获取所述多个第一数据子集中每一第一数据子集对应的业务类型的平均运行时长,得到多个平均运行时长;
根据所述多个平均运行时长调整所述待测应用的资源。
7.一种性能测试装置,其特征在于,包括:
获取单元,用于获取待测应用在预设高峰时段的历史数据集,以及获取所述预设高峰时段对应的预热时段中的数据流量;所述预设高峰时段对应的预热时段为活动的预览时段;
处理单元,用于将所述历史数据集中每一历史数据进行模拟处理,得到测试数据集;
选取单元,用于根据所述历史数据集和所述数据流量,从预先存储的模拟数据集中选取目标数据,得到目标数据集;
所述获取单元,还用于通过运行预设监控函数,获取所述测试数据集和所述目标数据集对应的运行参数;
确定单元,用于根据所述运行参数确定所述待测应用的性能数据;
其中,所述选取单元具体用于:
按照预估算法计算得到所述数据流量对应的测试模拟量;
计算所述测试模拟量和所述历史数据集之间的差值,得到目标数据集的数据总量;
对多个历史数据集进行业务分类,得到多个第一数据子集;
根据所述多个第一数据子集之间的比值和所述数据总量,从预先存储的模拟数据集中选取目标数据,得到所述目标数据集。
8.一种电子设备,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行权利要求1-6任一项方法中的步骤的指令。
9.一种计算机可读存储介质,其特征在于,其用于存储计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910767630.4A CN110618922B (zh) | 2019-08-15 | 2019-08-15 | 性能测试方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910767630.4A CN110618922B (zh) | 2019-08-15 | 2019-08-15 | 性能测试方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110618922A CN110618922A (zh) | 2019-12-27 |
CN110618922B true CN110618922B (zh) | 2022-10-04 |
Family
ID=68922382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910767630.4A Active CN110618922B (zh) | 2019-08-15 | 2019-08-15 | 性能测试方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110618922B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111628912B (zh) * | 2020-05-28 | 2021-08-03 | 深圳华锐金融技术股份有限公司 | 资源相关数据处理方法、装置、计算机设备和存储介质 |
CN112035303B (zh) * | 2020-09-01 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 一种数据测试方法、装置、计算机及可读存储介质 |
CN112001563B (zh) * | 2020-09-04 | 2023-10-31 | 深圳天源迪科信息技术股份有限公司 | 一种话单量的管理方法、装置、电子设备及存储介质 |
CN112633720B (zh) * | 2020-12-29 | 2023-09-26 | 国家电网有限公司信息通信分公司 | 对象的筛选方法及装置、电子设备及计算机可读存储介质 |
CN113495845B (zh) * | 2021-07-27 | 2022-09-13 | 拉扎斯网络科技(上海)有限公司 | 数据测试方法、装置、电子设备及存储介质 |
CN113656307A (zh) * | 2021-08-18 | 2021-11-16 | 北京沃东天骏信息技术有限公司 | 一种系统容量评估方法、装置、设备和介质 |
CN114137434B (zh) * | 2021-12-07 | 2024-09-20 | 中国农业银行股份有限公司天津市分行 | 一种不间断电源设备测试方法、设备及系统 |
CN116028258B (zh) * | 2023-03-22 | 2023-08-18 | 国网智联电商有限公司 | 基于深度学习的设备故障诊断方法及系统 |
CN117970004B (zh) * | 2024-02-22 | 2024-09-24 | 南京莱芯科技有限公司 | 功率放大器的测试方法、装置、介质和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211311A (zh) * | 2006-12-25 | 2008-07-02 | 中国电信股份有限公司 | 应用软件在生产环境下的性能预测方法 |
CN105488539A (zh) * | 2015-12-16 | 2016-04-13 | 百度在线网络技术(北京)有限公司 | 分类模型的生成方法及装置、系统容量的预估方法及装置 |
CN106897206A (zh) * | 2015-12-18 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种业务测试方法及装置 |
CN108664385A (zh) * | 2017-03-29 | 2018-10-16 | 华为技术有限公司 | 一种应用程序编程接口的测试方法及装置 |
CN109002385A (zh) * | 2017-06-06 | 2018-12-14 | 北京京东尚科信息技术有限公司 | 用于数据流系统的压力测试方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150100946A1 (en) * | 2013-10-08 | 2015-04-09 | Frank Brunswig | Using mock data to validate applications |
CN105930220A (zh) * | 2016-04-22 | 2016-09-07 | 乐视控股(北京)有限公司 | 业务系统性能测试方法和装置 |
CN106776300B (zh) * | 2016-12-01 | 2020-12-11 | 银清科技有限公司 | 一种中间系统的压力测试系统及方法 |
-
2019
- 2019-08-15 CN CN201910767630.4A patent/CN110618922B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211311A (zh) * | 2006-12-25 | 2008-07-02 | 中国电信股份有限公司 | 应用软件在生产环境下的性能预测方法 |
CN105488539A (zh) * | 2015-12-16 | 2016-04-13 | 百度在线网络技术(北京)有限公司 | 分类模型的生成方法及装置、系统容量的预估方法及装置 |
CN106897206A (zh) * | 2015-12-18 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种业务测试方法及装置 |
CN108664385A (zh) * | 2017-03-29 | 2018-10-16 | 华为技术有限公司 | 一种应用程序编程接口的测试方法及装置 |
CN109002385A (zh) * | 2017-06-06 | 2018-12-14 | 北京京东尚科信息技术有限公司 | 用于数据流系统的压力测试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110618922A (zh) | 2019-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110618922B (zh) | 性能测试方法及相关设备 | |
US10783002B1 (en) | Cost determination of a service call | |
CN110532467B (zh) | 基于推送模型的活动推荐方法及装置、设备、存储介质 | |
CN106649638B (zh) | 一种大数据获取方法 | |
CN111626767B (zh) | 资源数据的发放方法、装置及设备 | |
CN110688319B (zh) | 应用保活能力测试方法及相关装置 | |
CN111159553A (zh) | 信息推送方法、装置、计算机设备及存储介质 | |
CN112087487A (zh) | 模型训练任务的调度方法、装置、电子设备及存储介质 | |
CN112035717A (zh) | 信息处理方法、装置、设备及存储介质 | |
CN114268672B (zh) | Cdn节点分配方法、装置、电子设备、介质及程序产品 | |
CN108737486A (zh) | 信息推送方法和装置 | |
CN110956500B (zh) | 一种广告实时竞价系统中降低广告请求耗时的方法及系统 | |
CN108667877B (zh) | 确定推荐信息的方法及装置、计算机设备及存储介质 | |
CN113590007B (zh) | 进度条的生成方法、生成装置、计算机设备及存储介质 | |
CN111054078A (zh) | 对象信息获取方法及装置 | |
CN106209731B (zh) | 会话业务处理方法及装置 | |
CN116777518A (zh) | 事务管理方法、装置、存储介质及设备 | |
CN115809889A (zh) | 基于营销效果的智能客群筛选方法、系统、介质及设备 | |
CN114327693A (zh) | Ab实验方法和系统、终端设备及存储介质 | |
CN113971245A (zh) | 一种信息推送方法、装置和系统 | |
CN109214874B (zh) | Ip产品运营数据处理方法、装置、设备及可读存储介质 | |
CN111047366A (zh) | 充值返利方法及装置 | |
CN112308583A (zh) | 一种基于虚拟积分的医学平台管理方法及系统 | |
CN111400608A (zh) | 数据处理方法及装置、存储介质及电子设备 | |
CN111667357A (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 |