程序并发边界的确定方法、装置、设备以及存储介质制造方法及图纸

技术编号:37417713 阅读:10 留言:0更新日期:2023-04-30 09:41
本申请实施例公开了一种程序并发边界的确定方法、装置、设备以及存储介质,可适用于计算机技术、区块链等领域。该方法包括:确定目标程序以及目标程序对应的测试程序;将目标程序和测试程序分别部署于容器编排引擎的每一容器封装单元的不同容器中,容器编排引擎包括多个容器封装单元;确定目标程序的预设并发数以及测试过程中目标程序的并发调整数;基于预设并发数、并发调整数以及多个容器封装单元对目标程序进行并发测试,基于测试结果确定目标程序的并发边界。采用本申请实施例,可提升确定程序并发边界的效率和准确性,适用性高。适用性高。适用性高。

【技术实现步骤摘要】
程序并发边界的确定方法、装置、设备以及存储介质


[0001]本申请涉及计算机
,尤其涉及一种程序并发边界的确定方法、装置、设备以及存储介质。

技术介绍

[0002]随着网络技术的快速发展,越来越多的程序应用于用户的生活、工作和娱乐等各方面。而随着程序业务的不断发展,使得程序也需要不断地迭代更新,因此,为了保证程序能够提供稳定可靠的服务,相关技术人员在程序测试阶段或者维护阶段往往会测试程序的并发边界,以保障程序运行的稳定性。
[0003]目前,相关技术人员往往通过构建大量被测试程序的虚拟对象(mock对象)来进行并发边界的测试,但是其测试结果往往与被测试程序的实际运行结果存在较大的差异,且需要在大量的物理机器或者虚拟机器上进行模拟测试,资源消耗较大。
[0004]因此,如何有效的确定程序的并发边界成为亟需解决的问题。

技术实现思路

[0005]本申请实施例提供一种程序并发边界的确定方法、装置、设备以及存储介质,可提升确定程序并发边界的效率和准确性,适用性高。
[0006]一方面,本申请实施例提供一种程序并发边界的确定方法,该方法包括:
[0007]确定目标程序以及上述目标程序对应的测试程序;
[0008]将上述目标程序和上述测试程序分别部署于容器编排引擎的每一容器封装单元的不同容器中,上述容器编排引擎包括多个上述容器封装单元;
[0009]确定上述目标程序的预设并发数以及测试过程中上述目标程序的并发调整数;
[0010]基于上述预设并发数、上述并发调整数以及多个上述容器封装单元对上述目标程序进行并发测试,基于测试结果确定上述目标程序的并发边界。
[0011]另一方面,本申请实施例提供了一种程序并发边界的确定装置,该装置包括:
[0012]程序确定模块,用于确定目标程序以及上述目标程序对应的测试程序;
[0013]程序处理模块,用于将上述目标程序和上述测试程序分别部署于容器编排引擎的每一容器封装单元的不同容器中,上述容器编排引擎包括多个上述容器封装单元;
[0014]数量确定模块,用于确定上述目标程序的预设并发数以及测试过程中上述目标程序的并发调整数;
[0015]程序测试模块,用于基于上述预设并发数、上述并发调整数以及多个上述容器封装单元对上述目标程序进行并发测试,基于测试结果确定上述目标程序的并发边界。
[0016]另一方面,本申请实施例提供了一种电子设备,包括处理器和存储器,该处理器和存储器相互连接;
[0017]上述存储器用于存储计算机程序;
[0018]上述处理器被配置用于在调用上述计算机程序时,执行本申请实施例提供的程序
Mesh)的相关通信产品、系统等,服务网格是一个用于处理服务到服务相互通信的专用基础设施层,它负责通过包含现代云原生应用的复杂服务拓扑来安全可靠地传递请求。
[0035]其中,上述目标程序为需要进行确定并发边界的程序,即需要对目标程序进行测试以确定目标程序的并发边界。上述目标程序可以为通信服务所对应的服务程序,如游戏中某一种功能部分对应的游戏服务进程,也可以为某系统中独立的功能程序,还可以为完整的应用程序等,具体可基于实际应用场景需求确定,在此不做限制。
[0036]其中,上述游戏可以为具有高并发、多服务、多进程等特点的游戏、如网络游戏、云游戏(Cloud Gaming)等,在此不做限制。
[0037]其中,云游戏又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
[0038]其中,目标程序对应的测试程序为用于对目标程序进行测试的相关程序,如目标程序对应的测试桩程序、用于模拟运行目标程序的相关程序等,在此不做限制。
[0039]步骤S12、将目标程序和测试程序分别部署于容器编排引擎的每一容器封装单元的不同容器中。
[0040]在一些可行的实施方式中,在确定目标程序和对应的测试程序后,可将目标程序和测试程序分别部署于容器编排引擎的每一容器封装单元的不同容器中。其中,上述容器编排引擎包括多个容器封装单元,每一容器封装单元可运行多个容器。
[0041]其中,上述容器编排引擎可以是能够实现容器集群的自动化部署、自动扩缩容、维护等功能的容器集群管理系统,如Kubernetes,在此不做限制。
[0042]上述容器编排引擎Kubernetes是一个基于容器技术的分布式架构方案,也是一个完备的分布式系统支撑平台,用于管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩。举例而言,Kubernetes是目前众多主流云产商部署云平台时的使用的底座系统。此外,Kubernetes也可以用于其他跨主机容器管理的场景,在此不做限制。
[0043]上述容器封装单元为容器编排引擎的基本调度单元,一个容器封装单元可包括多个容器,在容器中可以运行程序镜像。例如,在上述容器编排引擎为Kubernetes的情况下,上述容器封装单元可以为Kubernetes中的基本调度单元容器组(Pod),一个容器组Pod中可以包含多个容器(Container)。
[0044]在一些可行的实施方式中,在创建容器编排引擎的各容器封装单元时,可将目标程序和对应的测试程序分别部署于每个容器封装单元内的不同容器中。
[0045]以容器编排引擎为Kubernetes为例,在创建Pod时,可将目标程序和对应的测试程序部署于每一Pod中,并且目标程序和对应的测试程序分别封装于每一Pod的不同容器(container)中。其中,可以将目标目标程序的代理容器以sidecar的方式部署于每个Pod的容器之中。
[0046]可选地,在将目标程序和对应的测试程序部署于容器编排引擎的各封装单元中时,可先确定目标程序和测试程序对应的镜像程序。为方便描述,以下将目标程序对应的镜
像程序称为第一镜像程序,将测试程序对应的镜像程序称为第二镜像程序。
[0047]进一步地,可将第一镜像程序和第二镜像程序推送至镜像中心,以基于镜像中心对第一镜像程序和第二镜像程序进行存储。进而可将镜像中心中第一镜像程序和第二镜像程序分别部署于同期编排引擎的各容器封装单元的不同容器中,得到包括目标程序和测试程序的多个容器封装单元。
[0048]步骤S13、确定目标程序的预设并发数以及测试过程中目标程序的并发调整数。
[0049]在一些可行的实施方式中,目标程序的预设并发数可以为测试框架中所配置的对目标程序进行并发测试时所采用的容器封装单元的数量,也可以基于目标程序的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种程序并发边界的确定方法,其特征在于,所述方法包括:确定目标程序以及所述目标程序对应的测试程序;将所述目标程序和所述测试程序分别部署于容器编排引擎的每一容器封装单元的不同容器中,所述容器编排引擎包括多个所述容器封装单元;确定所述目标程序的预设并发数以及测试过程中所述目标程序的并发调整数;基于所述预设并发数、所述并发调整数以及多个所述容器封装单元对所述目标程序进行并发测试,基于测试结果确定所述目标程序的并发边界。2.根据权利要求1所述的方法,其特征在于,所述基于所述预设并发数、所述并发调整数以及多个所述容器封装单元对所述目标程序进行并发测试,基于测试结果确定所述目标程序的并发边界,包括:基于所述预设并发数确定所述目标程序的初始并发数;基于所述并发调整数以及所述初始并发数的容器封装单元对所述目标程序进行并发测试,基于测试结果确定所述目标程序的并发边界。3.根据权利要求2所述的方法,其特征在于,所述基于所述预设并发数确定所述目标程序的初始并发数,包括:确定所述目标程序的预期并发数;若所述预设并发数大于或者等于所述预期并发数,则将所述预设并发数确定为所述目标程序的初始并发数;若所述预设并发数小于所述预期并发数,则将第一数量确定为所述目标程序的初始并发数,所述第一数量为所述预设并发数和k倍的所述并发调整数之和,k为使所述第一数量大于或者等于所述预期并发数的最小正整数。4.根据权利要求2所述的方法,其特征在于,所述基于所述并发调整数以及所述初始并发数的容器封装单元对所述目标程序进行并发测试,基于测试结果确定所述目标程序的并发边界,包括:基于所述初始并发数的容器封装单元对所述目标程序进行并发测试,若测试成功,则基于第一测试数量的容器封装单元对所述目标程序进行循环并发测试直至测试失败,将测试失败时的上一次并发测试对应的第一测试数量确定为所述目标程序的并发边界,其中,每一次并发测试对应的第一测试数量为上一次并发测试时所述容器封装单元的数量与所述并发调整数之和;若基于所述初始并发数的容器封装单元对所述目标程序进行并发测试失败,则基于第二测试数量的容器封装单元对所述目标程序进行循环并发测试直至测试成功,将测试成功时对应的第二测试数量确定为所述目标程序的并发边界,其中,每一次并发测试对应的第二测试数量为上一次并发测试时所述容器封装单元的数量与所述并发调整数之差。5.根据权利要求1所述的方法,其特征在于,所述将所述目标程序和所述测试...

【专利技术属性】
技术研发人员:程玲霞黄敏李钦弟
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1