CN113342515A - 一种无服务器计算资源选择方法、装置、设备及存储介质 - Google Patents

一种无服务器计算资源选择方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113342515A
CN113342515A CN202110513522.1A CN202110513522A CN113342515A CN 113342515 A CN113342515 A CN 113342515A CN 202110513522 A CN202110513522 A CN 202110513522A CN 113342515 A CN113342515 A CN 113342515A
Authority
CN
China
Prior art keywords
program
executed
computing resource
function
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.)
Pending
Application number
CN202110513522.1A
Other languages
English (en)
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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN202110513522.1A priority Critical patent/CN113342515A/zh
Publication of CN113342515A publication Critical patent/CN113342515A/zh
Pending legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

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

Abstract

本申请提供了一种无服务器计算资源选择方法、装置、设备及存储介质,涉及软件技术领域。解决难以从市场不同的云服务平台中选择到合适当前待执行程序的计算资源的问题。包括:根据待执行程序的属性和待执行程序所应用的场景属性,设置多个基准测试程序;多个基准测试程序中的每个基准测试程序用于测试计算资源某一方面的基础性能或者综合性能;在计算资源中运行测试函数;测试函数包括多个基准测试程序中每个基准测试程序中的方法函数,以及待执行程序中的方法函数;获取计算资源对测试函数的运行日志和运行结果;分析运行日志和运行结果,确定计算资源运行待执行程序的运行指标值;运行指标值用于评估选择计算资源运行待执行程序的运行效果。

Description

一种无服务器计算资源选择方法、装置、设备及存储介质
技术领域
本申请涉及软件技术领域,特别是涉及一种无服务器计算资源选择方法、装置、设备及存储介质。
背景技术
无服务器计算是云计算的新兴趋势,采用无服务器计算的应用程序开方商可以直接从第三方云服务平台获取计算资源,不用再在其本地部署服务器。由于将计算任务发送到第三方云服务平台执行相关计算任务,所以无服务器计算将开发人员从繁琐且容易出错的服务器管理工作中解放出来,使得开发人员可以完全专注于应用程序的函数开发。
但由于执行函数计算的服务器部署在第三方云服务平台,开发人员对服务器的底层硬件配置、实际运行性能和负载开销等了解有限,难以从市场不同的云服务平台中选择到合适的计算资源。
发明内容
本申请实施例提供一种无服务器计算资源选择方法、装置、设备及存储介质,解决难以从市场不同的云服务平台中选择到合适当前待执行程序的计算资源的问题。
本申请实施例第一方面提供一种无服务器计算资源选择方法,所述方法包括:
根据待执行程序的属性和所述待执行程序所应用的场景属性,设置多个基准测试程序;其中,所述多个基准测试程序中的每个基准测试程序用于测试计算资源单方面的基础性能;
在所述计算资源中运行测试函数;其中,所述测试函数包括所述多个基准测试程序中每个基准测试程序中的方法函数,以及所述待执行程序中的方法函数;
获取所述计算资源对所述测试函数的运行日志和运行结果;
分析所述运行日志和所述运行结果,确定所述计算资源运行所述待执行程序的运行指标值;其中,所述运行指标值用于评估选择所述计算资源运行所述待执行程序的运行效果。
可选地,所述方法还包括:
按照预设格式,对所述多个基准测试程序中的每个基准测试程序以及所述待执行程序分别进行打包,得到多个压缩程序;其中,所述预设格式是根据所述计算资源的格式需求确定的;
根据与所述多个压缩程序分别对应的预设路径,将所述多个压缩程序部署在所述计算资源中;其中,所述预设路径是根据所述计算资源的运行规则确定的;
在所述计算资源中运行测试函数,包括:
按照与所述多个压缩程序分别对应的所述预设路径,分别运行部署到所述计算资源中的每个压缩程序中的方法函数。
可选地,所述方法还包括:
根据所述待执行程序所应用的场景属性,设置触发函数;
在所述计算资源中运行测试函数,包括:
在接收到所述触发函数的响应条件时,利用所述触发函数触发所述测试函数在所述计算资源中的运行。
可选地,所述方法还包括:
根据所述待执行程序需求的目标基础性能参数,对所述计算资源设置负载参数;其中,所述负载参数用于限定所述计算资源执行所述测试函数时采用的运行策略;
在所述计算资源中运行测试函数,包括:
按照设置的所述负载参数,在所述计算资源中运行测试函数。
可选地,所述计算资源的数量为多个,在所述计算资源中运行测试函数,包括:
分别在多个计算资源中运行测试函数;
根据所述运行日志和所述运行结果,确定所述计算资源运行所述待执行程序的运行指标值之后,所述方法还包括:
分析所述运行日志和所述运行结果,得到所述多个计算资源各自的运行指标值;
根据所述多个计算资源各自的运行指标值,生成比对结果;其中,所述运行指标值包括:冷启动时间、函数执行时间以及函数实例伸缩性;
按照所述比对结果,从所述多个计算资源进行选择目标计算资源。
本申请实施例第二方面提供一种无服务器计算资源选择装置,所述装置包括:
第一设置模块,用于根据待执行程序的属性和所述待执行程序所应用的场景属性,设置多个基准测试程序;其中,所述多个基准测试程序中的每个基准测试程序用于测试计算资源单方面的基础性能;
运行模块,用于在所述计算资源中运行测试函数;其中,所述测试函数包括所述多个基准测试程序中每个基准测试程序中的方法函数,以及所述待执行程序中的方法函数;
获取模块,用于获取所述计算资源对所述测试函数的运行日志和运行结果;
第一分析模块,用于分析所述运行日志和所述运行结果,确定所述计算资源运行所述待执行程序的运行指标值;其中,所述运行指标值用于评估选择所述计算资源运行所述待执行程序的运行效果。
可选地,所述装置还包括:
打包模块,用于按照预设格式,对所述多个基准测试程序中的每个基准测试程序以及所述待执行程序分别进行打包,得到多个压缩程序;其中,所述预设格式是根据所述计算资源的格式需求确定的;
部署模块,用于根据与所述多个压缩程序分别对应的预设路径,将所述多个压缩程序部署在所述计算资源中;其中,所述预设路径是根据所述计算资源的运行规则确定的;
所述运行模块包括:
第一运行子模块,用于按照与所述多个压缩程序分别对应的所述预设路径,分别运行部署到所述计算资源中的每个压缩程序中的方法函数。
可选地,所述装置还包括:
第二设置模块,用于根据所述待执行程序所应用的场景属性,设置触发函数;
所述运行模块包括:
触发子模块,用于在接收到所述触发函数的响应条件时,利用所述触发函数触发所述测试函数在所述计算资源中的运行。
可选地,所述装置还包括:
第三设置模块,用于根据所述待执行程序需求的目标基础性能参数,对所述计算资源设置负载参数;其中,所述负载参数用于限定所述计算资源执行所述测试函数时采用运行策略;
所述运行模块包括:
第二运行子模块,用于按照设置的所述负载参数,在所述计算资源中运行测试函数。
可选地,所述计算资源的数量为多个,所述运行模块包括:第三运行子模块,用于分别在多个计算资源中运行测试函数;
所述装置还包括:
第二分析模块,用于分析所述运行日志和所述运行结果,得到所述多个计算资源各自的运行指标值;
生成模块,用于根据所述多个计算资源各自的运行指标值,生成比对结果;其中,所述运行指标值包括:冷启动时间、函数执行时间以及函数实例伸缩性;
选择模块,用于按照所述比对结果,从所述多个计算资源进行选择目标计算资源。
本申请实施例第三方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请第一方面所述的方法中的步骤。
本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本申请第一方面所述的方法的步骤。
本申请实施例根据待执行程序的属性和待执行程序所应用的场景属性,设置能够测试待执行程序所需求的服务器性能的基准测试程序,以基准测试程序对待执行程序运行时要调用的服务器基础性能进行测试;得到基准测试程序后,将基准测试程序和待执行程序共同运行在第三方云服务平台的计算资源,使计算资源运行基准测试程序中的方法函数,以及待执行程序中的方法函数,在方法函数运行过程中,收集运行日志和运行结果,对运行日志和运行结果进行分析得到的计算资源的运行指标值,以运行指标客观评估计算资源与待执行程序的适配程度,由于测试函数包括多个基准测试程序中每个基准测试程序中的方法函数,以及待执行程序中的方法函数,所以基于测试函数的运行日志和运行结果得到的运行指标值,能够全面评估计算资源在实际运行待执行程序时,各方面的适配性,实现了程序开方方在不了解第三方云服务平台的服务器的基础参数的情况下,在多个第三方云服务平台中选择到适合计算特定程序或者函数的第三方云服务平台的目的。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中对第三方云服务平台的服务器进行性能评估的系统平台的结构示意图;
图2是本申请实施例提出的无服务器计算资源选择方法的步骤流程图;
图3是本申请实施例提出的无服务器计算资源选择装置的功能模块图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请为解决现有技术的问题,提出能对第三方云服务平台的服务器进行性能评估的系统平台,该系统平台将本地设置的程序测试集压缩打包、并部署在需要测试的第三方云服务平台的服务器,使第三方云服务平台的服务器执行程序测试集,在第三方云服务平台的服务器执行程序测试集的过程中,采集第三方云服务平台的服务器对程序测试集的运行日志和运行结果,根据运行日志和运行结果对第三方云服务平台的服务器进行选择,进而根据第三方云服务平台的服务器执行相关函数的真实反应,选择出最适合的第三方云服务平台的服务器。
图1是本申请实施例中对第三方云服务平台的服务器进行性能评估的系统平台的结构示意图,如图1所示,系统平台包括:打包构件11、部署构件12、测试构件13、日志构件14以及生成构件15。该系统平台可以通过预先设置的多个接口,同时连接多个需要测试的第三方云服务平台,或者第三方云服务平台中具体的服务器。
图1所示的对第三方云服务平台的服务器进行性能评估的系统平台连接的第三方云服务平台A、第三方云服务平台B、第三方云服务平台C以及第三方云服务平台D是不同的云计算平台。
在本申请一种示例中,系统平台同时连接亚马逊云平台、微软运行结果、谷歌云平台以及阿里巴巴云品台,将本地设置的程序测试集发送给上述云平台,根据上述云平台执行程序测试集的运行日志和运行结果,生成结果展示,以结果展示作为选择云平台的客观参考,开发人员即使在不了解第三方云服务平台,或者不了解第三方云服务中服务器的硬件情况、参数设置、特性、配置策略等,也可以选择出适用计算其新开发的函数的第三方云服务平台,或者第三方云服务中服务器。
图2是本申请实施例提出的无服务器计算资源选择方法的步骤流程图,如图2所述,步骤如下:
步骤S21:根据待执行程序的属性和所述待执行程序所应用的场景属性,设置多个基准测试程序;其中,所述多个基准测试程序中的每个基准测试程序用于测试计算资源单方面的基础性能。
计算资源是指特定的第三方云服务平台,或者第三方云服务平台中特定的服务器。在需要在多个第三方云服务平台中选择其中一个第三方云服务平台时,将第三方云服务平台作为一个整体的计算资源,测试整体计算资源处理待执行程序的效果;在需要在特定的第三方云服务平台的多个服务器中选择其中一个服务器时,将服务器作为计算资源,测试计算资源处理待执行程序的效果。
待执行程序是指开发完成的,待运行的方法函数或者方法函数集合。
待执行程序的属性是指待执行程序运行时执行的处理任务所属类型。在本申请一种示例中,待执行程序的属性包括:读写、计算、渲染、多媒体播放等。在待执行程序的属性是读写时,待执行程序的函数功能包括:将特定参数写入存储器和将在存储器中读取特定参数。在待执行程序的属性是多媒体播放时,待执行程序的函数功能包括:对音频帧解码、对视频帧解码、噪音过滤等。
待执行程序所应用的场景属性是指开发待执行程序时,对待执行程序设定的具体应用场景的需求的功能。在本申请一种示例中,应用场景包括:物联网、网页小游戏、应用程序、音视频传输等。在应用场景是物联网时,应用场景的需求的功能包括:服务器将大量数据写入数据库的读写性能、服务器即时传输数据的性能等;在应用场景是网页小游戏时,应用场景的需求的功能包括:服务器的内存负载性能、服务器的网络负载性能等。
基准测试程序是指包含测试计算资源单方面的基础性能的方法函数的程序。基准测试程序包括:包含测试计算型负载的方法函数的程序、包含测试本地文件IO型负载的方法函数的程序(IO型负载指可以评估文件读写带宽、速率的负载)、包含测试网络IO负载的方法函数的程序、包含测试内存负载的方法函数的程序、包含测试媒体数据处理性能的方法函数的程序、包含测试海量数据处理性能的方法函数的程序、包含测试机器学习性能的方法函数的程序。其中,测试海量数据处理性能的方法函数可以是MapReduce、Spark等;测试机器学习性能的方法函数可以是tensorflow,pytorch等。
步骤S22:在所述计算资源中运行测试函数;其中,所述测试函数包括所述多个基准测试程序中每个基准测试程序中的方法函数,以及所述待执行程序中的方法函数。
在将基准测试程序和待执行程序发送到计算资源,以使计算资源运行测试函数之前,本申请实施例还将计算资源需求的授权凭证发送给计算资源。在本申请一种示例中,在设置基准测试程序后,对第三方云服务平台的服务器进行性能评估的系统平台将第三方云服务平台的账号发送给第三方云服务平台,第三方云服务平台对账号授权后,接收对第三方云服务平台的服务器进行性能评估的系统平台发送的基准测试程序和待执行程序。
本申请实施例不仅将待执行程序发送到计算资源,测试计算资源执行待执行程序的客观执行效果,还根据待执行程序在执行过程中需要调用的服务器的基础性能,针对性设置分别对涉及的每个基础性能进行测试的多个基准测试程序。将待执行程序和多个基准测试程序共同发送到计算资源,测试计算资源执行待执行程序的客观执行效果的同时,测试计算资源在执行待执行程序时需要调用的基础性能的执行效果。
步骤S23:获取所述计算资源对所述测试函数的运行日志和运行结果。
本申请实施例具体利用日志构件14在测试函数运行的过程中,自动收集测试函数的运行日志和运行结果,并存储在本地。
步骤S24:分析所述运行日志和所述运行结果,确定所述计算资源运行所述待执行程序的运行指标值;其中,所述运行指标值用于评估选择所述计算资源运行所述待执行程序的运行效果。
本申请实施例具体利用生成构件15分析运行日志和运行结果,得到计算资源运行待执行程序的运行指标值,根据运行指标值评估计算资源与待执行程序的适配性,从而对计算资源作出选择。
在本申请另一种实施例中,计算资源的数量为多个,对第三方云服务平台的服务器进行性能评估的系统平台同时对多个计算资源进行性能评估,具体方法如下:
分别在多个计算资源中运行测试函数;将基准测试程序和待执行程序同时发送到待评估的多个计算资源中,使多个计算资源分别运行基准测试程序和待执行程序包含的测试函数。
根据所述运行日志和所述运行结果,确定所述计算资源运行所述待执行程序的运行指标值之后,所述方法还包括:分析所述运行日志和所述运行结果,得到所述多个计算资源各自的运行指标值;根据所述多个计算资源各自的运行指标值,生成比对结果;其中,所述运行指标值包括:冷启动时间、函数执行时间以及函数实例伸缩性;按照所述比对结果,从所述多个计算资源进行选择目标计算资源。
日志构件14通过对第三方云服务平台的服务器进行性能评估的系统平台设置的多个接口,同时收集多个计算资源运行测试函数的运行日志和运行结果。
冷启动时间是指断电后的服务器启动、并完成测试函数运行的时间。函数执行时间是指服务器运行测试函数的时间。函数实例伸缩性是指第三方服务平台为执行测试函数分配的函数实例是否合理。例如,不同的第三方服务平台在同时执行N个测试函数时,会启动不同数目的函数实例,函数实例伸缩性用于表征计算资源对于接收的测试函数,会根据测试函数的数目,动态分配足够的测试实例运行当前数目的测试函数。
按照比对结果,从多个计算资源中选择进行选择冷启动时间最短、函数执行时间最短、以及函数实例伸缩性最好的计算资源作为目标计算资源,以目标计算资源作为实际运行待执行程序的计算资源。
本申请实施例根据待执行程序的属性和待执行程序所应用的场景属性,设置能够测试待执行程序所需求的服务器性能的基准测试程序,以基准测试程序对待执行程序运行时要调用的服务器基础性能进行测试;得到基准测试程序后,将基准测试程序和待执行程序共同运行在第三方云服务平台的计算资源,使计算资源运行基准测试程序中的方法函数,以及待执行程序中的方法函数,在方法函数运行过程中,收集运行日志和运行结果,对运行日志和运行结果进行分析得到的计算资源的运行指标值,以运行指标客观评估计算资源与待执行程序的适配程度,由于测试函数包括多个基准测试程序中每个基准测试程序中的方法函数,以及待执行程序中的方法函数,所以基于测试函数的运行日志和运行结果得到的运行指标值,能够全面评估计算资源在实际运行待执行程序时,各方面的适配性,实现了程序开方方在不了解第三方云服务平台的服务器的基础参数的情况下,在多个第三方云服务平台中选择到适合计算特定程序或者函数的第三方云服务平台的目的。
本申请另一种实施例提出同时调用多个方法函数的具体方法。
第一步:按照预设格式,对所述多个基准测试程序中的每个基准测试程序以及所述待执行程序分别进行打包,得到多个压缩程序;其中,所述预设格式是根据所述计算资源的格式需求确定的。
对第三方云服务平台的服务器进行性能评估的系统平台的打包构件11对每个基准测试程序进行打包,同时对待执行程序进行打包。在本申请一种示例中,打包构件11按照亚马逊云平台规定的格式,对基准测试程序和待执行程序进行打包,得到压缩文件。
压缩程序可以是压缩文件或者容器镜像。
第二步:根据与所述多个压缩程序分别对应的预设路径,将所述多个压缩程序部署在所述计算资源中;其中,所述预设路径是根据所述计算资源的运行规则确定的。
在本申请一种示例中,第三方云服务平台A规定需要将对数据库写入数据的函数存放在预设路径D中,打包构件11将包含对数据库写入数据的函数进行打包,得到压缩程序A,部署构件12将压缩程序A存放在预设路径D中。
部署构件12还会根据计算资源规定的参数阈值,对基准测试程序配置函数语言、运行时版本、运行内存、超时时间、权限等。在本申请一种示例中,第三方云服务平台规定函数运行时间不能超过一分钟,部署构件12将基准测试程序配置超时时间配置为1分钟。函数语言是计算资源规定的计算机语言。运行时版本是计算资源规定的,例如计算资源指定运行时环境,部署构件12确地符合计算资源规定的运行时环境的运行时版本,运行时环境可以是Python2.7的运行时环境、python3.6的运行时环境等。,运行内存是计算资源允许的最大内存;权限是指利用基准测试程序对计算资源进行测试时,能够执行的操作步骤。操作步骤包括但不限于:读写数据库、发送网络请求等。
第三步:按照与所述多个压缩程序分别对应的所述预设路径,分别运行部署到所述计算资源中的每个压缩程序中的方法函数。
本申请实施例使计算资源根据压缩程序存储的路径,分别打开存储在计算资源不同位置的压缩程序,进而实现多个方法函数的并行调用。
本申请另一种实施例提出运行测试函数的具体方法,在本申请实施例中,测试构件13根据待执行程序所应用的场景属性,设置触发函数。在接收到所述触发函数的响应条件时,利用所述触发函数触发所述测试函数在所述计算资源中的运行。
在本申请一种示例中,待执行程序是判断温度是否超过预设阈值的函数,并且判断温度是否超过预设阈值的待执行程序应用于物联网,测试构件13根据物联网设置的传感器会实时在数据库读写数据的属性,设置触发函数为:对数据库进行插入操作的函数、对数据库进行修改操作的函数、对数据库进行删除操作的函数以及对数据库进行查找操作的函数中的一个或多个函数,在部署构件将待执行程序部署到计算资源的预设路径时,通过触发函数,具体通过对数据库进行插入操作、或者对数据库进行修改操作触发计算资源执行待执行程序。
本申请实施例根据待执行程序的实际需求,针对性地设置触发函数,在测试计算资源与待执行程序中的方法函数的适配性的同时,测试了实际待执行程序执行时可能关联的函数与计算资源的适配性,保证了对计算资源性能评估的全面性。
在本申请一种示例中,测试第三方云服务平台与判断温度是否超过预设阈值的函数的适配度的同时,测试了第三方云服务平台响应数据库进行修改操作的函数的时效性。
本申请另一种实施例提出运行测试函数的另一种实施方式,具体方法包括:根据所述待执行程序需求的目标基础性能参数,对所述计算资源设置负载参数;其中,所述负载参数用于限定所述计算资源执行所述测试函数时采用的运行策略;在所述计算资源中运行测试函数,包括:按照设置的所述负载参数,在所述计算资源中运行测试函数。
运行策略包括:运行待执行程序的时间、行待执行函数的地理位置以及行待执行函数的并发方式中的一种或多种,具体视待执行程序应用的场景属性,以及用户对待执行程序的需求而定。
在待执行程序需求的目标基础性能参数是并发处理时,部署构件12对计算资源设置负载参数:并发数目和并发间隔,以使计算资源按照设置的并发数目和并发间隔采用运行策略,以在计算资源运行测试函数时,收集计算资源并发运行测试函数的相关日志参数。对计算资源设置负载参数是指设置第三方云服务平台的服务器进行性能评估的系统对计算资源进行测试的过程中,执行步骤时所采用的负载参数。
本申请实施例根据高并发数目和低并发间隔可以反映函数在流量突发情况下的处理性能,采用对计算资源设置并发数目和并发间隔的方式,模拟不同类型的用户访问状态,例如模拟不同类型的用户同时访问计算资源,以评估计算资源中函数在流量突发情况下的处理性能,进而评估计算资源支持突发性的访问需求的能力。在待执行程序需求的目标基础性能参数是在特定时间计算资源的处理性能时,部署构件12对计算资源设置负载参数:运行时间,以使计算资源在设置的特定时间运行测试函数,收集计算资源在特定时间运行测试函数的相关日志参数,从而评估计算资源是否符合待执行程序在实际运行中的数据处理峰值。示例地,待执行程序是预约行程服务软件的程序,那么待执行程序需求的目标基础性能参数是:计算资源在上班高峰时间和下班高峰时间段具有较好的计算性能和网络负载性能,部署构件根据目标基础性能参数设置计算资源运行测试函数的时间是AM8:00-AM10:00,进而评估计算资源在AM8:00-AM10:00时间段的计算性能和网络负载性能。
在待执行程序需求的目标基础性能参数是在特定地理位置计算资源的处理性能时,部署构件12对计算资源设置负载参数:运行位置,以使运行位置的计算资源运行测试函数,收集运行位置的计算资源运行测试函数的相关日志参数,从而评估运行位置的计算资源是否符具有较好的性能。示例地,开发人员在部署函数时选择在北京的机房中部署函数实例,可能会导致上海、深圳等离北京较远的区域访问该函数服务的延迟较高,通过事前测试评估获得相关指标,则可以在部署函数实例的时候在离上海、深圳较近的区域也部署实例,降低这些区域的访问延迟。
基于同一发明构思,本申请实施例提供一种无服务器计算资源选择装置。图3是本申请实施例提出的无服务器计算资源选择装置的功能模块图。如图3所示,该装置包括:
第一设置模块31,用于根据待执行程序的属性和所述待执行程序所应用的场景属性,设置多个基准测试程序;其中,所述多个基准测试程序中的每个基准测试程序用于测试计算资源单方面的基础性能;
运行模块32,用于在所述计算资源中运行测试函数;其中,所述测试函数包括所述多个基准测试程序中每个基准测试程序中的方法函数,以及所述待执行程序中的方法函数;
获取模块33,用于获取所述计算资源对所述测试函数的运行日志和运行结果;
第一分析模块34,用于分析所述运行日志和所述运行结果,确定所述计算资源运行所述待执行程序的运行指标值;其中,所述运行指标值用于评估选择所述计算资源运行所述待执行程序的运行效果。
可选地,所述装置还包括:
打包模块,用于按照预设格式,对所述多个基准测试程序中的每个基准测试程序以及所述待执行程序分别进行打包,得到多个压缩程序;其中,所述预设格式是根据所述计算资源的格式需求确定的;
部署模块,用于根据与所述多个压缩程序分别对应的预设路径,将所述多个压缩程序部署在所述计算资源中;其中,所述预设路径是根据所述计算资源的运行规则确定的;
所述运行模块包括:
第一运行子模块,用于按照与所述多个压缩程序分别对应的所述预设路径,分别运行部署到所述计算资源中的每个压缩程序中的方法函数。
可选地,所述装置还包括:
第二设置模块,用于根据所述待执行程序所应用的场景属性,设置触发函数;
所述运行模块包括:
触发子模块,用于在接收到所述触发函数的响应条件时,利用所述触发函数触发所述测试函数在所述计算资源中的运行。
可选地,所述装置还包括:
第三设置模块,用于根据所述待执行程序需求的目标基础性能参数,对所述计算资源设置负载参数;其中,所述负载参数用于限定所述计算资源执行所述测试函数时采用运行策略;
所述运行模块包括:
第二运行子模块,用于按照设置的所述负载参数,在所述计算资源中运行测试函数。
可选地,所述计算资源的数量为多个,所述运行模块包括:第三运行子模块,用于分别在多个计算资源中运行测试函数;
所述装置还包括:
第二分析模块,用于分析所述运行日志和所述运行结果,得到所述多个计算资源各自的运行指标值;
生成模块,用于根据所述多个计算资源各自的运行指标值,生成比对结果;其中,所述运行指标值包括:冷启动时间、函数执行时间以及函数实例伸缩性;
选择模块,用于按照所述比对结果,从所述多个计算资源进行选择目标计算资源。
基于同一发明构思,本申请另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的无服务器计算资源选择方法中的步骤。
基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的无服务器计算资源选择方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进或说明的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种无服务器计算资源选择方法、装置、设备及存储介质,进行了详细介绍,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种无服务器计算资源选择方法,其特征在于,所述方法包括:
根据待执行程序的属性和所述待执行程序所应用的场景属性,设置多个基准测试程序;其中,所述多个基准测试程序中的每个基准测试程序用于测试计算资源单方面的基础性能;
在所述计算资源中运行测试函数;其中,所述测试函数包括所述多个基准测试程序中每个基准测试程序中的方法函数,以及所述待执行程序中的方法函数;
获取所述计算资源对所述测试函数的运行日志和运行结果;
分析所述运行日志和所述运行结果,确定所述计算资源运行所述待执行程序的运行指标值;其中,所述运行指标值用于评估选择所述计算资源运行所述待执行程序的运行效果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照预设格式,对所述多个基准测试程序中的每个基准测试程序以及所述待执行程序分别进行打包,得到多个压缩程序;其中,所述预设格式是根据所述计算资源的格式需求确定的;
根据与所述多个压缩程序分别对应的预设路径,将所述多个压缩程序部署在所述计算资源中;其中,所述预设路径是根据所述计算资源的运行规则确定的;
在所述计算资源中运行测试函数,包括:
按照与所述多个压缩程序分别对应的所述预设路径,分别运行部署到所述计算资源中的每个压缩程序中的方法函数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述待执行程序所应用的场景属性,设置触发函数;
在所述计算资源中运行测试函数,包括:
在接收到所述触发函数的响应条件时,利用所述触发函数触发所述测试函数在所述计算资源中的运行。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述待执行程序需求的目标基础性能参数,对所述计算资源设置负载参数;其中,所述负载参数用于限定所述计算资源执行所述测试函数时采用的运行策略;
在所述计算资源中运行测试函数,包括:
按照设置的所述负载参数,在所述计算资源中运行测试函数。
5.根据权利要求1所述的方法,其特征在于,所述计算资源的数量为多个,在所述计算资源中运行测试函数,包括:
分别在多个计算资源中运行测试函数;
根据所述运行日志和所述运行结果,确定所述计算资源运行所述待执行程序的运行指标值之后,所述方法还包括:
分析所述运行日志和所述运行结果,得到所述多个计算资源各自的运行指标值;
根据所述多个计算资源各自的运行指标值,生成比对结果;其中,所述运行指标值包括:冷启动时间、函数执行时间以及函数实例伸缩性;
按照所述比对结果,从所述多个计算资源进行选择目标计算资源。
6.一种无服务器计算资源选择装置,其特征在于,所述装置包括:
第一设置模块,用于根据待执行程序的属性和所述待执行程序所应用的场景属性,设置多个基准测试程序;其中,所述多个基准测试程序中的每个基准测试程序用于测试计算资源单方面的基础性能;
运行模块,用于在所述计算资源中运行测试函数;其中,所述测试函数包括所述多个基准测试程序中每个基准测试程序中的方法函数,以及所述待执行程序中的方法函数;
获取模块,用于获取所述计算资源对所述测试函数的运行日志和运行结果;
第一分析模块,用于分析所述运行日志和所述运行结果,确定所述计算资源运行所述待执行程序的运行指标值;其中,所述运行指标值用于评估选择所述计算资源运行所述待执行程序的运行效果。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
打包模块,用于按照预设格式,对所述多个基准测试程序中的每个基准测试程序以及所述待执行程序分别进行打包,得到多个压缩程序;其中,所述预设格式是根据所述计算资源的格式需求确定的;
部署模块,用于根据与所述多个压缩程序分别对应的预设路径,将所述多个压缩程序部署在所述计算资源中;其中,所述预设路径是根据所述计算资源的运行规则确定的;
所述运行模块包括:
第一运行子模块,用于按照与所述多个压缩程序分别对应的所述预设路径,分别运行部署到所述计算资源中的每个压缩程序中的方法函数。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二设置模块,用于根据所述待执行程序所应用的场景属性,设置触发函数;
所述运行模块包括:
触发子模块,用于在接收到所述触发函数的响应条件时,利用所述触发函数触发所述测试函数在所述计算资源中的运行。
9.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5任一所述的方法中的步骤。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现如权利要求1-5任一所述的方法的步骤。
CN202110513522.1A 2021-05-11 2021-05-11 一种无服务器计算资源选择方法、装置、设备及存储介质 Pending CN113342515A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110513522.1A CN113342515A (zh) 2021-05-11 2021-05-11 一种无服务器计算资源选择方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110513522.1A CN113342515A (zh) 2021-05-11 2021-05-11 一种无服务器计算资源选择方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113342515A true CN113342515A (zh) 2021-09-03

Family

ID=77470829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110513522.1A Pending CN113342515A (zh) 2021-05-11 2021-05-11 一种无服务器计算资源选择方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113342515A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114466014A (zh) * 2021-12-28 2022-05-10 天翼云科技有限公司 一种服务调度方法、装置、电子设备及存储介质
CN114721922A (zh) * 2022-05-16 2022-07-08 北京并行科技股份有限公司 一种服务器集群的性能评估方法、计算设备及存储介质
CN115086189A (zh) * 2022-05-20 2022-09-20 中国科学院软件研究所 一种面向无服务器计算的服务资源弹性伸缩方法和系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222034A (zh) * 2011-07-15 2011-10-19 浙江大学 基于程序轮廓分析的虚拟化平台性能评测方法
US20170346706A1 (en) * 2016-05-26 2017-11-30 CloudBolt Software Inc. Infrastructure testing
CN107562532A (zh) * 2017-07-13 2018-01-09 华为技术有限公司 一种预测设备集群的硬件资源利用率的方法及装置
CN108563544A (zh) * 2018-03-26 2018-09-21 平安普惠企业管理有限公司 系统性能测试方法、装置、计算机设备和存储介质
CN109062807A (zh) * 2018-09-14 2018-12-21 口碑(上海)信息技术有限公司 测试应用程序的方法及装置、存储介质、电子装置
CN110740079A (zh) * 2019-10-16 2020-01-31 北京航空航天大学 一种面向分布式调度系统的全链路基准测试系统
CN111159143A (zh) * 2019-11-27 2020-05-15 安徽君恒广告有限公司 一种基于区块链测评系统及其方法
CN111625434A (zh) * 2020-05-08 2020-09-04 苏州浪潮智能科技有限公司 一种数据库oltp基准性能测试方法、系统及相关组件
CN112612686A (zh) * 2020-12-18 2021-04-06 平安普惠企业管理有限公司 性能测试方法、装置、电子设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222034A (zh) * 2011-07-15 2011-10-19 浙江大学 基于程序轮廓分析的虚拟化平台性能评测方法
US20170346706A1 (en) * 2016-05-26 2017-11-30 CloudBolt Software Inc. Infrastructure testing
CN107562532A (zh) * 2017-07-13 2018-01-09 华为技术有限公司 一种预测设备集群的硬件资源利用率的方法及装置
CN108563544A (zh) * 2018-03-26 2018-09-21 平安普惠企业管理有限公司 系统性能测试方法、装置、计算机设备和存储介质
CN109062807A (zh) * 2018-09-14 2018-12-21 口碑(上海)信息技术有限公司 测试应用程序的方法及装置、存储介质、电子装置
CN110740079A (zh) * 2019-10-16 2020-01-31 北京航空航天大学 一种面向分布式调度系统的全链路基准测试系统
CN111159143A (zh) * 2019-11-27 2020-05-15 安徽君恒广告有限公司 一种基于区块链测评系统及其方法
CN111625434A (zh) * 2020-05-08 2020-09-04 苏州浪潮智能科技有限公司 一种数据库oltp基准性能测试方法、系统及相关组件
CN112612686A (zh) * 2020-12-18 2021-04-06 平安普惠企业管理有限公司 性能测试方法、装置、电子设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JINFENG WEN: "Understanding Characteristics of Commodity Serverless Computing Platforms", ARXIV, pages 1 - 12 *
周墨颂;董小社;陈衡;张兴军;: "基于计算资源运行时剩余能力评估优化云平台", 计算机研究与发展, no. 11, pages 101 - 118 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114466014A (zh) * 2021-12-28 2022-05-10 天翼云科技有限公司 一种服务调度方法、装置、电子设备及存储介质
CN114466014B (zh) * 2021-12-28 2024-03-12 天翼云科技有限公司 一种服务调度方法、装置、电子设备及存储介质
CN114721922A (zh) * 2022-05-16 2022-07-08 北京并行科技股份有限公司 一种服务器集群的性能评估方法、计算设备及存储介质
CN115086189A (zh) * 2022-05-20 2022-09-20 中国科学院软件研究所 一种面向无服务器计算的服务资源弹性伸缩方法和系统
CN115086189B (zh) * 2022-05-20 2023-11-07 中国科学院软件研究所 一种面向无服务器计算的服务资源弹性伸缩方法和系统

Similar Documents

Publication Publication Date Title
CN113342515A (zh) 一种无服务器计算资源选择方法、装置、设备及存储介质
US11755919B2 (en) Analytics for an automated application testing platform
US12086051B2 (en) Automated application testing system
CA2620428C (en) Performance evaluation of a network-based application
US20130086554A1 (en) Analytics Driven Development
CN110750458A (zh) 大数据平台测试方法、装置、可读存储介质及电子设备
CN108228444B (zh) 一种测试方法和装置
JP2013232187A (ja) 待ち時間を誘発することにより、分散計算サービスの弾力性を評価する方法及びシステム
CN111597099B (zh) 一种监测部署于云平台的应用运行质量的无侵入仿真方法
CN107038120B (zh) 一种软件测试方法和设备
CN109309596A (zh) 一种压力测试方法、装置及服务器
CN103246606A (zh) Esb平台的性能方法和系统
CN118093434A (zh) 一种智能化信息系统性能评估与测试方法及系统
Poltronieri et al. Chaostwin: A chaos engineering and digital twin approach for the design of resilient it services
CN111708712A (zh) 用户行为测试用例的生成方法、流量回放方法及电子设备
CN117539754A (zh) 压力测试方法、装置、存储介质及电子设备
CN111400171B (zh) 一种接口测试方法、系统、装置及可读存储介质
CN109985387B (zh) 自动化测试方法和装置
CN114546814A (zh) 录制回放方法、装置及存储介质
CN111984519B (zh) 一种用于业务系统的测试方法及其装置
CN115617668A (zh) 一种兼容性测试方法、装置及设备
CN115297024A (zh) 网络安全设备的性能测试方法、装置及电子设备
CN114567543A (zh) 一种问题接口的定位方法、装置、电子设备及存储介质
CN107193636A (zh) 一种numa架构下沙箱环境内虚拟任务模拟方法及装置
Catillo et al. Black-box load testing to support auto-scaling web applications in the cloud

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