CN115904619A - 大规模模拟集群的测试方法和装置、电子设备和存储介质 - Google Patents
大规模模拟集群的测试方法和装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115904619A CN115904619A CN202211436593.7A CN202211436593A CN115904619A CN 115904619 A CN115904619 A CN 115904619A CN 202211436593 A CN202211436593 A CN 202211436593A CN 115904619 A CN115904619 A CN 115904619A
- Authority
- CN
- China
- Prior art keywords
- cluster
- tested
- pod
- creation
- simulation
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开了一种大规模模拟集群的测试方法和装置、电子设备和存储介质,测试方法包括搭建模拟集群,并在模拟集群中创建多个POD;将模拟集群的多个POD加入待测试集群中,以在待测试集群中模拟多个hollow节点;向待测试集群发起API调用请求,以使待测试集群中的所述hollow节点被调度进入POD创建流程;收集待测试集群中每一所述hollow节点的POD创建时间,以计算所述待测试集群的响应性能。本申请通过搭建包括多个POD的模拟集群,并将模拟集群与待测试集群连接实现在待测试集群内模拟多个hollow节点;通过发起API调用请求并收集反馈信息,实现响应性能测试,有效避免了使用真实集群测试造成了极大物理设备资源浪费,有助于对kubernetes系统的性能和可用性做出优化设计。
Description
技术领域
本申请属于计算机技术领域,具体涉及一种大规模模拟集群的测试方法和装置、电子设备和存储介质。
背景技术
随着基于kubernetes系统技术的不断发展壮大,kubernetes集群的规模变得原来越大,这给系统的性能和可用性带来了很大的挑战。
现有技术中已有社区提出通过创建大量空节点的方式,来模拟大规模集群节点,如kubemark技术;也存在针对kubernetes集群进行测试的测试工具,如clusterloader2;或者通过简单的http请求进行集群访问延时的测量计算等。
但是现有的检测方法均为一些独立的工具,无法适用于大规模模拟集群场景。现有技术中没有针对大规模模拟集群进行测试的技术和方案,导致模拟出大规模集群节点毫无意义。特别地,如果为了对真实大规模集群进行测试去复现生产环境同等规模的集群,会造成浪费极大的物理设备资源,造成严重的资源冗余,以及缺乏较好的数据呈现方案。
发明内容
本申请的目的在于提供一种大规模模拟集群的测试方法和装置、电子设备和存储介质,以解决现有技术中没有针对大规模模拟集群进行测试的技术和方案,若为了对真实大规模集群进行测试去复现生产环境同等规模的集群,会造成浪费极大的物理设备资源,造成严重的资源冗余,以及缺乏较好的数据呈现方案的技术问题。
为了实现上述目的,本申请采用的一个技术方案是:
提供一种大规模模拟集群的测试方法,包括:
搭建模拟集群,并在所述模拟集群中创建多个POD;
将所述模拟集群的所述多个POD加入待测试集群中,以在所述待测试集群中模拟多个hollow节点;
向所述待测试集群发起API调用请求,以使所述待测试集群中的所述hollow节点被调度进入POD创建流程;
收集所述待测试集群中每一所述hollow节点的POD创建时间,以计算所述待测试集群的响应性能。
在一个或多个实施方式中,所述向所述待测试集群发起API调用请求的步骤之前还包括:
基于所述待测试集群中所述hollow节点的数量,调节待测试集群的节点可运行POD数量。
在一个或多个实施方式中,所述向所述待测试集群发起API调用请求的步骤之前还包括:
基于所述待测试集群中所述hollow节点的数量,调节待测试集群的APIserver最大会话并发数以及待测试集群的调度器可调度POD数量。
在一个或多个实施方式中,所述收集所述待测试集群中每一所述hollow节点的POD创建时间,以计算所述待测试集群的响应性能的步骤包括:
基于所述API调用请求的发起时间以及所述hollow节点的POD创建完成反馈时间,计算创建时间信息,所述创建时间信息包括每一POD的创建时间;
基于所述创建时间信息,计算所述待测试集群的调用延迟信息。
在一个或多个实施方式中,所述调用延迟信息包括所述待测试集群的50%调用平均延迟、90%调用平均延迟和99%调用平均延迟。
为了实现上述目的,本申请采用的另一个技术方案是:
提供一种大规模模拟集群的测试方法,包括:
接收模拟集群的多个POD,以模拟多个hollow节点;
响应于API调用请求,通过APIserver接收到多个POD创建请求;
通过APIserver对所述多个POD创建请求进行权限校验,并在校验合法后将所述多个POD创建请求存储在存储单元内;
通过调度器由所述存储单元内检查到所述多个POD创建请求,以使所述调度器遍历所述hollow节点以检查是否可调度;
通过所述调度器将每一所述POD创建请求调度至所述hollow节点上,以使所述hollow节点进入POD创建流程,并在创建成功后反馈创建完成信息。
为了实现上述目的,本申请采用的另一个技术方案是:
提供一种大规模模拟集群的测试装置,包括:
搭建模块,用于搭建模拟集群,并在所述模拟集群中创建多个POD;
连接模块,用于将所述模拟集群的所述多个POD加入待测试集群中,以在所述待测试集群中模拟多个hollow节点;
发起模块,用于向所述待测试集群发起API调用请求,以使所述待测试集群中的hollow节点被调度进入POD创建流程;
计算模块,收集所述待测试集群中每一所述hollow节点的POD创建时间,以计算所述待测试集群的响应性能。
为了实现上述目的,本申请采用的又一个技术方案是:
提供一种大规模模拟集群的测试装置,包括:
接收模块,用于接收模拟集群的多个POD,以模拟多个hollow节点;
响应模块,用于响应于API调用请求,通过APIserver接收到多个POD创建请求;
校验模块,用于通过APIserver对所述多个POD创建请求进行权限校验,并在校验合法后将所述多个POD创建请求存储在存储单元内;
检查模块,用于通过调度器由所述存储单元内检查到所述多个POD创建请求,以使所述调度器遍历所述hollow节点以检查是否可调度;
创建模块,用于通过所述调度器将每一所述POD创建请求调度至所述hollow节点上,以使所述hollow节点进入POD创建流程,并在创建成功后反馈创建完成信息。
为了实现上述目的,本申请采用的又一个技术方案是:
提供一种电子设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上述任一实施方式所述的大规模模拟集群的测试方法。
为了实现上述目的,本申请采用的又一个技术方案是:
提供一种机器可读存储介质,存储有可执行指令,所述指令当被执行时使得所述机器执行如上述任一实施方式所述的大规模模拟集群的测试方法。
区别于现有技术,本申请的有益效果是:
本申请通过搭建包括多个POD的模拟集群,并将模拟集群与待测试集群连接实现在待测试集群内模拟多个hollow节点;通过向待测试集群发起API调用请求,并收集反馈信息,实现对待测试集群的响应性能测试,并通过可视化的配置方式进行了良好的数据呈现,从而实现了对大规模模拟集群的测试,有效避免了使用真实集群测试造成了极大物理设备资源浪费,有助于对kubernetes系统的性能和可用性做出优化设计。
附图说明
图1是本申请大规模模拟集群的测试方法一实施方式的流程示意图;
图2是步骤S400对应的一实施方式的流程示意图;
图3是本申请大规模模拟集群的测试方法的系统示意图;
图4是本申请大规模模拟集群的测试装置一实施方式的结构框图;
图5是本申请大规模模拟集群的测试装置又一实施方式的结构框图;
图6是本申请电子设备一实施方式的硬件结构图。
具体实施方式
以下将结合附图所示的各实施方式对本申请进行详细描述。但该等实施方式并不限制本申请,本领域的普通技术人员根据该等实施方式所做出的结构、方法、或功能上的变换均包含在本申请的保护范围内。
kubernetes是Google开源的容器集群管理系统,其提供应用部署、扩展机制等功能,利用kubernetes能方便的管理跨机器运行容器化的应用。
pod是kubernetes的基本操作单元,其由一个或多个容器构成的集合,作为一个整体被部署到一个单一节点。同一个pod中的容器共享IP地址、进程间通讯(IPC)、主机名以及其它资源。Pod将底层容器的网络和存储抽象出来,使得集群内的容器迁移更为便捷。
随着基于kubernetes系统技术的不断发展壮大,kubernetes集群的规模变得原来越大,这给系统的性能和可用性带来了很大的挑战。
针对大规模集群的测试,从资源和时间方面考虑使用真实集群测试都是不可接受的,并且会浪费极大的物理设备资源,造成严重的资源冗余。而现有技术中仅仅能够模拟出大规模集群节点,但没有针对大规模模拟集群进行测试的技术和方案,这使得模拟集群技术变得毫无意义。
为了解决上述问题,申请人开发了一种大规模模拟集群的测试方法,该方法能够通过在待测试集群中构建大量hollow节点,即模拟节点,来实现对大规模集群的模拟,同时针对该大规模模拟集群进行测试,从而实现对待测试集群在大规模集群场景中性能的测试,以为系统设计提供参考。
具体地,请参阅图1,图1是本申请大规模模拟集群的测试方法一实施方式的流程示意图。
该测试方法包括:
S100、搭建模拟集群,并在模拟集群中创建多个POD。
在一个应用场景中,模拟集群可以基于虚拟机创建,虚拟机的数量和参数可以不做限定,例如模拟集群可以基于三台8核16g的虚拟机创建,也可以基于其他数量其他规格的虚拟机创建。
可以理解的,在其他应用场景中,模拟集群也可以基于物理机进行创建,均能够实现本实施方式的效果。
在模拟集群搭建完成后,可以在模拟集群中创建多个POD,在一个应用场景中,可以通过命令行工具kubectl在模拟集群中创建500个POD,每个POD内部均以极小的资源消耗来运行模拟节点的程序,在其他应用场景中也可以通过yaml文件在模拟集群中创建其他数量的POD,均能够实现本实施方式的效果。
S200、将模拟集群的多个POD加入待测试集群中,以在待测试集群中模拟多个hollow节点。
模拟集群中POD资源创建完毕后,可以将模拟集群中的多个POD加入待测试集群中。
待测试集群可以是基于物理机创建的集群,例如在一个应用场景中,待测试集群可以采用3个主节点形式进行部署,为了保证待测试集群的高可用性,每个主节点可以基于SSD存储的etcd集群来高性能存储数据。
在其他应用场景中,待测试集群也可以采用其他数量的物理机主节点形式进行部署,或者待测试集群也可以基于其他数量的虚拟机形式进行部署,每个主节点也可以基于其他形式的存储单元来存储数据,均能够实现本实施方式的效果。
在一个应用场景中,可以通过将待测试集群与模拟集群连接的方式将模拟集群的多个POD加入待测试集群中,例如可以通过配置待测试集群的kubeconfig使其与模拟集群连接。
当待测试集群与模拟集群连接时,由于模拟集群内部的POD内部执行模拟节点的程序,因此待测试集群会将多个POD认定为真实的节点,从而实现在待测试集群中模拟多个hollow节点的目的,例如当模拟集群中创建有500个POD时,采用3个主节点形式进行部署的待测试集群会扩大为503个节点的大规模集群。
在其他应用场景中,也可以采用其他方式将模拟集群的多个POD加入待测试集群中,均能够实现本实施方式的效果。
S300、向待测试集群发起API调用请求,以使待测试集群中的hollow节点被调度进入POD创建流程。
当待测试集群通过POD模拟形成大规模模拟集群后,可以发起API调用请求进行性能测试。
在一个应用场景中,可以通过测试框架Clusterloader2对待测试集群发起API调用请求,在其他应用场景中,也可通过其他软件或编码发起API调用请求,均能够实现本实施方式的效果。
接受到API调用请求后,待测试集群中的节点开始大规模被调用创建POD,同时创建成功后反馈创建完成信息,从而实现对待测试集群的性能的监测。
在一个实施方式中,待测试集群中POD的创建过程包括:
响应于API调用请求,待测试集群的APIserver接收到多个POD创建请求,待测试集群的APIserver对多个POD创建请求进行权限校验,校验合法后将多个POD创建请求存储在存储单元内。
具体地,APIserver是kubernetes集群系统的数据总线和数据中心,其能够提供集群管理的RESTAPI接口,包括认证授权、数据校验以及集群状态变更;同时还能够提供其他模块之间的数据交互和通信的枢纽,以及提供准入控制的功能。
当API调用请求发起后,将向待测试集群的APIserver发起大量的POD创建请求,APIserver首先对POD创建请求的权限进行校验,校验合法后APIserver将POD创建请求存储在存储单元内。
在一个应用场景中,当kubernetes集群的主节点是基于SSD存储的etcd集群来高性能存储数据时,POD创建请求可以存储在etcd集群中。在其他应用场景中,POD创建请求也可以存储在其他存储单元内,均能够实现本实施方式的效果。
调度器由存储单元内检查到多个POD创建请求,响应于多个POD创建请求,调度器遍历hollow节点以检查是否可调度,并将每一POD创建请求调度至hollow节点上。
kubernetes集群的调度器scheduler由存储单元内检查到POD创建请求,之后调度器scheduler开始检查全部节点是否可调度,包括主节点以及通过模拟集群的POD模拟的多个hollow节点。
在对全部节点进行检查的同时,调度器scheduler同步地将每个POD创建请求调度到可以调度的节点上。
响应于POD创建请求,hollow节点进入POD创建流程,并在创建成功后反馈创建完成信息至待测试集群的APIserver。
当POD创建请求被调度至hollow节点时,hollow节点开始进入POD创建流程,由于hollow节点内运行的是模拟的容器运行时等组件,因此POD会迅速的创建完成,并在创建完成后会将创建完成信息反馈给APIserver。
在一个实施方式中,为了保证待测试集群能够顺利进行延迟测试,待检测集群还需要进行必要的集群参数调优。向待测试集群发起API调用请求之前,还包括:优化待测试集群的参数。
具体地,优化待测试集群的参数可以包括:增加待测试集群的节点可运行POD数量、APIserver最大会话并发数以及调度器可调度POD数量。
在一个应用场景中,当待测试集群中通过模拟集群的POD模拟500个hollow节点时,可以将待测试集群每个节点可以运行的POD数量由110个调整为300个,从而保证500个POD能够成功运行;在其他应用场景中,也可将待测试集群每个节点可以运行的POD数量调整至其他数值,能够保证全部POD能够成功运行即可。
由于POD的变多,APIserver接收的并发请求也会激增,因此可以将APIserver最大会话并发数kube-api-burst从默认的30调整为100,以保证请求能够快速处理。
另外,由于节点以及请求数量的变化,调度器scheduler的调度能力需要增大,以保证每个请求能够迅速调度至节点;在一个应用场景中,可以将调度器可调度POD数量由原先的100调整为400。
S400、收集待测试集群中每一hollow节点的POD创建时间,以计算待测试集群的响应性能。
APIserver接收到每个hollow节点的创建完成信息后,能够得到每个POD的创建时间,从而能够基于每个POD创建的时间,计算待测试集群的响应性能。
具体地,请参阅图2,图2是图1中步骤S400对应的一实施方式的流程示意图。
计算待测试集群的响应性能的步骤包括:
S401、基于API调用请求的发起时间以及hollow节点的POD创建完成反馈时间,计算创建时间信息。
具体地,创建时间信息包括每一POD的创建时间。在一个应用场景中,APIserver接收到每个hollow节点的创建完成信息后,能够将信息反馈至测试框架Clusterloader2,测试框架Clusterloader2可以通过监控系统prometheus进行度量类库metric指标的记录,从而收集每个POD的创建完成时间,同步地测试框架Clusterloader2还记录有API调用请求,通过比较API调用请求以及每个POD的创建完成时间,能够计算每个POD的创建时间,即计算得到创建时间信息。
在其他应用场景中,也可以通过其他软件或硬件收集每个POD的创建完成时间以及API调用请求的发起时间,从而计算得到创建时间信息,均能够实现本实施方式的效果。
S402、基于创建时间信息,计算待测试集群的调用延迟信息。
具体地,在一个应用场景中,测试框架Clusterloader2可以将所有POD的创建时间显示在监控系统prometheus的图形化监控页面grafana页面上,基于监控系统prometheus的存储记录能够计算得出50%的调用平均延迟结果、90%的调用延迟平均、99%的调用延迟平均;即50%的POD创建完成的时间,90%的POD创建完成的时间以及99%的POD创建完成的时间,从而得到待测试集群的响应性能。
可以理解的,通过图形化监控页面的可视化配置方式能够进行良好的数据呈现,以便于对响应性能参数的读取和计算。
在其他应用场景中,也可以采用其他方法对所有POD的创建时间进行处理,从而得到其他用于表示响应性能的参数,均能够实现本实施方式的效果。
请参阅图3,图3是本申请大规模模拟集群的测试方法的系统示意图,如图所示,该系统包括由kubemark cluster构建的集群,该集群包括待测试集群以及多个hollow节点,其中hollow节点通过模拟集群external cluster中的hollowpod模拟得到;待测试集群基于etcd集群进行数据存储。
该系统还包括监控系统prometheus,该监控系统与etcd集群和待测试集群的APIserver连接从而获取监测信息。
该系统还包括测试框架Clusterloader2,测试框架用于发起API call,即API调用请求,并将度量类库metric指标发送至etcd集群记录。
具体地,首先在模拟集群external cluster中构建多个hollowpod,将模拟集群external cluster与kubemark cluster的待测试集群连接,从而在模拟多个hollow节点。
之后测试框架Clusterloader2向kubemark cluster发起API调用请求,hollow节点进入POD创建流程,并反馈POD创建完成时间至APIserver。
APIserver将该反馈信息发送给测试框架Clusterloader2和监控系统prometheus,测试框架Clusterloader2将度量类库metric指标发送至etcd集群存储。
监控系统prometheus由etcd集群存储和APIserver获取到POD创建时间信息,经过处理过在图形化监控页面Grafana页面上显示,基于该显示内容可以计算待测试集群的响应性能,从而完成大规模模拟集群的性能测试。
本申请还提供了一种大规模模拟集群的测试装置,请参阅图4,图4是本申请大规模模拟集群的测试装置一实施方式的结构框图。
该测试装置包括搭建模块21,连接模块22,发起模块23,计算模块24。
其中,搭建模块21用于搭建模拟集群,并在模拟集群中创建多个POD;连接模块22用于将模拟集群的多个POD加入待测试集群中,以在待测试集群中模拟多个hollow节点;发起模块23用于向待测试集群发起API调用请求,以使待测试集群中的hollow节点被调度进入POD创建流程;计算模块24用于收集待测试集群中每一hollow节点的POD创建时间,以计算待测试集群的响应性能。
一实施方式中,测试装置还包括优化模块25,优化模块25用于基于待测试集群中hollow节点的数量,调节待测试集群的节点可运行POD数量;优化模块25还用于基于待测试集群中hollow节点的数量,调节待测试集群的APIserver最大会话并发数以及待测试集群的调度器可调度POD数量。
本申请还提供了一种大规模模拟集群的测试装置,请参阅图5,图5是本申请大规模模拟集群的测试装置另一实施方式的结构框图。
该测试装置包括接收模块31,响应模块32,校验模块33,检查模块34和创建模块35。
其中,接收模块31用于接收模拟集群的多个POD,以模拟多个hollow节点;响应模块32用于响应于API调用请求,通过APIserver接收到多个POD创建请求;校验模块33用于通过APIserver对多个POD创建请求进行权限校验,并在校验合法后将多个POD创建请求存储在存储单元内;检查模块34用于通过调度器由存储单元内检查到多个POD创建请求,以使调度器遍历hollow节点以检查是否可调度;创建模块35用于通过调度器将每一POD创建请求调度至hollow节点上,以使hollow节点进入POD创建流程,并在创建成功后反馈创建完成信息。
本申请还提供了一种电子设备,请参阅图6,图6是本申请电子设备一实施方式的硬件结构图。如图6所示,电子设备40可以包括至少一个处理器41、存储器42(例如非易失性存储器)、内存43和通信接口44,并且至少一个处理器41、存储器42、内存43和通信接口44经由总线45连接在一起。至少一个处理器41执行在存储器42中存储或编码的至少一个计算机可读指令。
应该理解,在存储器42中存储的计算机可执行指令当执行时使得至少一个处理器41进行本说明书的各个实施例中以上结合图1-图3描述的各种操作和功能。
在本说明书的实施例中,电子设备40可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动电子设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴电子设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-图3描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本说明书的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本说明书的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理客户实现,或者,有些单元可能分由多个物理客户实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所对应的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (10)
1.一种大规模模拟集群的测试方法,其特征在于,包括:
搭建模拟集群,并在所述模拟集群中创建多个POD;
将所述模拟集群的所述多个POD加入待测试集群中,以在所述待测试集群中模拟多个hollow节点;
向所述待测试集群发起API调用请求,以使所述待测试集群中的所述hollow节点被调度进入POD创建流程;
收集所述待测试集群中每一所述hollow节点的POD创建时间,以计算所述待测试集群的响应性能。
2.根据权利要求1所述的测试方法,其特征在于,所述向所述待测试集群发起API调用请求的步骤之前还包括:
基于所述待测试集群中所述hollow节点的数量,调节待测试集群的节点可运行POD数量。
3.根据权利要求1所述的测试方法,其特征在于,所述向所述待测试集群发起API调用请求的步骤之前还包括:
基于所述待测试集群中所述hollow节点的数量,调节待测试集群的APIserver最大会话并发数以及待测试集群的调度器可调度POD数量。
4.根据权利要求1所述的测试方法,其特征在于,所述收集所述待测试集群中每一所述hollow节点的POD创建时间,以计算所述待测试集群的响应性能的步骤包括:
基于所述API调用请求的发起时间以及所述hollow节点的POD创建完成反馈时间,计算创建时间信息,所述创建时间信息包括每一POD的创建时间;
基于所述创建时间信息,计算所述待测试集群的调用延迟信息。
5.根据权利要求4所述的测试方法,其特征在于,所述调用延迟信息包括所述待测试集群的50%调用平均延迟、90%调用平均延迟和99%调用平均延迟。
6.一种大规模模拟集群的测试方法,其特征在于,包括:
接收模拟集群的多个POD,以模拟多个hollow节点;
响应于API调用请求,通过APIserver接收到多个POD创建请求;
通过APIserver对所述多个POD创建请求进行权限校验,并在校验合法后将所述多个POD创建请求存储在存储单元内;
通过调度器由所述存储单元内检查到所述多个POD创建请求,以使所述调度器遍历所述hollow节点以检查是否可调度;
通过所述调度器将每一所述POD创建请求调度至所述hollow节点上,以使所述hollow节点进入POD创建流程,并在创建成功后反馈创建完成信息。
7.一种大规模模拟集群的测试装置,其特征在于,包括:
搭建模块,用于搭建模拟集群,并在所述模拟集群中创建多个POD;
连接模块,用于将所述模拟集群的所述多个POD加入待测试集群中,以在所述待测试集群中模拟多个hollow节点;
发起模块,用于向所述待测试集群发起API调用请求,以使所述待测试集群中的hollow节点被调度进入POD创建流程;
计算模块,收集所述待测试集群中每一所述hollow节点的POD创建时间,以计算所述待测试集群的响应性能。
8.一种大规模模拟集群的测试装置,其特征在于,包括:
接收模块,用于接收模拟集群的多个POD,以模拟多个hollow节点;
响应模块,用于响应于API调用请求,通过APIserver接收到多个POD创建请求;
校验模块,用于通过APIserver对所述多个POD创建请求进行权限校验,并在校验合法后将所述多个POD创建请求存储在存储单元内;
检查模块,用于通过调度器由所述存储单元内检查到所述多个POD创建请求,以使所述调度器遍历所述hollow节点以检查是否可调度;
创建模块,用于通过所述调度器将每一所述POD创建请求调度至所述hollow节点上,以使所述hollow节点进入POD创建流程,并在创建成功后反馈创建完成信息。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1至5任一项所述或权利要求6所述的大规模模拟集群的测试方法。
10.一种机器可读存储介质,其特征在于,存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1至5任一项所述或权利要求6所述的大规模模拟集群的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436593.7A CN115904619A (zh) | 2022-11-16 | 2022-11-16 | 大规模模拟集群的测试方法和装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436593.7A CN115904619A (zh) | 2022-11-16 | 2022-11-16 | 大规模模拟集群的测试方法和装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904619A true CN115904619A (zh) | 2023-04-04 |
Family
ID=86479010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211436593.7A Pending CN115904619A (zh) | 2022-11-16 | 2022-11-16 | 大规模模拟集群的测试方法和装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904619A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220012373A1 (en) * | 2020-07-13 | 2022-01-13 | Avaya Management L.P. | Method to encrypt the data at rest for data residing on kubernetes persistent volumes |
CN115098105A (zh) * | 2022-02-22 | 2022-09-23 | 联信弘方(北京)科技股份有限公司 | 容器云性能测试评估实现方法、装置、设备及介质 |
CN115328752A (zh) * | 2022-08-17 | 2022-11-11 | 成都道客数字科技有限公司 | 一种用于Kubernetes控制面测试的集群模拟方法及系统 |
-
2022
- 2022-11-16 CN CN202211436593.7A patent/CN115904619A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220012373A1 (en) * | 2020-07-13 | 2022-01-13 | Avaya Management L.P. | Method to encrypt the data at rest for data residing on kubernetes persistent volumes |
CN115098105A (zh) * | 2022-02-22 | 2022-09-23 | 联信弘方(北京)科技股份有限公司 | 容器云性能测试评估实现方法、装置、设备及介质 |
CN115328752A (zh) * | 2022-08-17 | 2022-11-11 | 成都道客数字科技有限公司 | 一种用于Kubernetes控制面测试的集群模拟方法及系统 |
Non-Patent Citations (2)
Title |
---|
青岛666666: "Kubernetes测试系列- 性能测试", pages 1 - 2, Retrieved from the Internet <URL:https://blog.csdn.net/qingdao666666/article/details/104625457> * |
高级互联网专家: "深度好文:我花了10个小时,写出了这篇K8S架构解析", pages 1 - 14, Retrieved from the Internet <URL:https://baijiahao.baidu.com/s?id=1708770383481738060&wfr=spider&for=pc> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9183119B2 (en) | Automatically allocating clients for software program testing | |
US9348650B2 (en) | Determining an optimal computing environment for running an image based on performance of similar images | |
US8782215B2 (en) | Performance testing in a cloud environment | |
US20150347305A1 (en) | Method and apparatus for outputting log information | |
CN102222042B (zh) | 基于云计算的软件自动化测试方法 | |
CN103458020B (zh) | 一种基于xcp的云平台的监控方法及系统 | |
US11055568B2 (en) | Method and system that measure application response time | |
CN109634718A (zh) | 云平台创建镜像的方法及系统 | |
CN110554831B (zh) | 操作同步方法、装置、设备及存储介质 | |
CN109359020A (zh) | 启动时间测试方法及装置、计算机装置及存储介质 | |
CN107070752B (zh) | 一种长连接容量的测试方法及测试系统 | |
CN109491888A (zh) | 应用程序兼容性测试方法、装置、及计算机可读存储介质 | |
CN103118073A (zh) | 一种云环境下虚拟机数据持久化存储系统和方法 | |
Varghese et al. | A survey on edge benchmarking | |
CN112433812A (zh) | 一种虚拟机跨集群迁移方法、系统、设备及计算机介质 | |
US10200271B2 (en) | Building and testing composite virtual services using debug automation | |
CN110868330B (zh) | 云平台可划分cpu资源的评估方法、装置及评估系统 | |
CN115904619A (zh) | 大规模模拟集群的测试方法和装置、电子设备和存储介质 | |
CN103186423B (zh) | 虚拟机迁移方法与云端伺服系统 | |
US9830256B1 (en) | Block device workload analysis | |
CN112035283A (zh) | 一种基于分布式量子计算服务排队和执行的方法及系统 | |
CN116136813B (zh) | 适配多型号的航电信号仿真方法、装置及存储介质 | |
US10565501B1 (en) | Block device modeling | |
CN109995617A (zh) | 主机管理特性的自动化测试方法、装置、设备及存储介质 | |
CN114116681B (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 |