CN118158135A - 集群性能测试方法及装置、电子设备和计算机可读存储介质 - Google Patents
集群性能测试方法及装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN118158135A CN118158135A CN202410263236.8A CN202410263236A CN118158135A CN 118158135 A CN118158135 A CN 118158135A CN 202410263236 A CN202410263236 A CN 202410263236A CN 118158135 A CN118158135 A CN 118158135A
- Authority
- CN
- China
- Prior art keywords
- information
- cluster
- container group
- tool
- target
- 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
- 238000011056 performance test Methods 0.000 title claims abstract description 124
- 238000000034 method Methods 0.000 title claims description 60
- 238000012360 testing method Methods 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000012544 monitoring process Methods 0.000 claims abstract description 37
- 230000004044 response Effects 0.000 claims abstract description 35
- 238000004590 computer program Methods 0.000 claims description 34
- 230000008859 change Effects 0.000 claims description 28
- 238000001514 detection method Methods 0.000 claims description 24
- 238000004088 simulation Methods 0.000 claims description 21
- 238000005516 engineering process Methods 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 15
- 238000007726 management method Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 239000000306 component Substances 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种集群性能测试方法及装置、电子设备和计算机可读存储介质,可以应用于计算机技术和金融科技领域。该集群性能测试方法,包括:响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息;利用事件发送工具,将容器组事件信息发送至集群路由工具,其中,容器组事件信息是根据路由配置信息确定的;利用集群路由工具,对容器组事件信息进行处理,得到路由配置键值关系;以及,根据路由配置键值关系,对目标集群进行测试,得到集群性能测试结果。
Description
技术领域
本公开涉及计算机技术和金融科技领域,更具体地,涉及一种集群性能测试方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,Kubernetes(即K8s)技术应运而生。在一个示例中,可以利用性能测试工具(即kubemark)来实现Kubernetes的性能测试。
性能测试工具可以用于模拟kubelet从而作为虚拟节注册到k8s集群中,并且支持监听容器组资源,通过调用虚拟集群客户端进行容器组的生命周期管理,从而实现模拟管理容器生命周期的过程。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:由于性能测试工具不具备事件发送能力以及模拟端口分配和上报能力,存在较严重的模拟失真的问题,无法较为有效地保障集群性能测试结果的准确性。
发明内容
有鉴于此,本公开提供了一种集群性能测试方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一个方面,提供了一种集群性能测试方法,包括:响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息;利用事件发送工具,将容器组事件信息发送至集群路由工具,其中,容器组事件信息是根据路由配置信息确定的;利用集群路由工具,对容器组事件信息进行处理,得到路由配置键值关系;以及,根据路由配置键值关系,对目标集群进行测试,得到集群性能测试结果。
根据本公开的实施例,集群性能测试方法还包括,在响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息之前:响应于接收到性能测试请求,根据性能测试请求包括的虚拟集群信息,构建目标集群,其中,目标集群包括至少一个容器组;将至少一个容器组分别关联到容器镜像库中的镜像,得到每个容器组的访问登录信息;利用性能测试工具,基于每个容器组的访问登录信息,创建集群运行环境;以及,对集群运行环境中的每个容器组分别进行监听,得到与每个容器组各自对应的容器组信息。
根据本公开的实施例,目标容器组信息具有变更类型,变更类型包括以下之一:创建操作、删除操作和更新操作,虚拟集群客户端部署有内部端口检测工具和主机端口检测工具;在变更类型为创建操作的情况下,响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息包括:响应于监听到目标容器组信息发生变更,利用内部端口检测工具,获取内部端口信息;利用主机端口检测工具,获取初始主机端口信息;以及,基于预设规则,对内部端口信息和初始主机端口信息进行处理,得到路由配置信息。
根据本公开的实施例,基于预设规则,对内部端口信息和初始主机端口信息进行处理,得到路由配置信息包括:响应于内部端口信息为非空且初始主机端口信息为空,对初始主机端口信息进行处理,得到中间主机端口信息;以及,根据内部端口信息和中间主机端口信息,确定路由配置信息。
根据本公开的实施例,集群性能测试方法还包括,在利用事件发送工具,将容器组事件信息发送至集群路由工具之前:利用集群路由工具,根据路由配置信息,获取容器组的容器运行状态信息;利用事件发送工具,将容器组事件信息发送至集群路由工具包括:根据容器运行状态信息,确定容器组事件信息;以及,利用事件发送工具,将容器组事件信息发送至集群路由工具。
根据本公开的实施例,利用集群路由工具,对容器组事件信息进行处理,得到路由配置键值关系包括:根据至少一个预设键信息,对容器组事件信息进行字段匹配,得到与每个预设键信息各自对应的值信息;以及,根据至少一个预设键信息和与每个预设键信息对应的值信息,构建路由配置键值关系。
根据本公开的实施例,根据路由配置键值关系,对目标集群进行测试,得到集群性能测试结果包括:根据路由配置键值关系,利用目标集群执行性能测试任务;利用仿真管理器,监听性能测试任务的执行状态;以及,响应于执行状态表征性能测试任务执行完成,利用集群路由工具接收集群性能测试结果。
根据本公开的另一个方面,提供了一种集群性能测试装置,包括:第一获取模块,用于响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息;发送模块,用于利用事件发送工具,将容器组事件信息发送至集群路由工具,其中,容器组事件信息是根据路由配置信息确定的;处理模块,用于利用集群路由工具,对容器组事件信息进行处理,得到路由配置键值关系;以及,测试模块,用于根据路由配置键值关系,对目标集群进行测试,得到集群性能测试结果。
根据本公开的另一个方面,提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,其中,上述一个或多个处理器执行上述一个或多个计算机程序以实现上述方法的步骤。
根据本公开的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
根据本公开的实施例,通过监听目标集群中的目标容器组信息变更并获取路由配置信息,利用事件发送工具将容器组事件信息发送至集群路由工具,实现了动态的路由配置管理以及自动化的事件处理和事件发送能力,由此能够及时响应容器组信息变更,自动更新路由配置,从而提高了响应速度和后续性能测试的效率。在此基础上,通过集群路由工具对路由配置信息进行处理,得到路由配置键值关系,并对目标集群进行性能测试,得到集群性能测试结果,由此提高了集群管理的智能化水平,能够实现自动化的集群性能测试,至少部分地克服了相关技术中由于性能测试工具不具备事件发送能力以及模拟端口分配和上报能力,存在较严重的模拟失真的技术问题,能够较为有效地提高集群性能测试结果的准确性。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用集群性能测试方法的***架构;
图2示意性示出了根据本公开实施例的集群性能测试方法的流程图;
图3示意性示出了根据本公开实施例的获得与每个容器组各自对应的容器组信息过程的示例示意图;
图4示意性示出了根据本公开实施例的响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息过程的示例示意图;
图5示意性示出了根据本公开实施例的利用事件发送工具,将容器组事件信息发送至集群路由工具过程的示例示意图;
图6示意性示出了根据本公开实施例的集群性能测试过程的示例示意图;
图7示意性示出了根据本公开实施例的集群性能测试装置的框图;以及
图8示意性示出了根据本公开实施例的适于实现集群性能测试方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
在本发明的技术方案中,所涉及的用户信息(包括但不限于用户个人信息、用户图像信息、用户设备信息,例如位置信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、存储、使用、加工、传输、提供、公开和应用等处理,均遵守相关法律法规和标准,采取了必要保密措施,不违背公序良俗,并提供有相应的操作入口,供用户选择授权或者拒绝。
在利用个人信息进行自动化决策的场景下,本发明实施例提供的方法、设备和***均为用户提供相应的操作入口,供用户选择同意或者拒绝自动化决策结果;若用户选择拒绝,则进入专家决策流程。此处的表述“自动化决策”是指通过计算机程序自动分析、评估个人的行为***的人员进行决策的活动。
性能测试工具(即kubemark)可以用于模拟kubelet从而作为虚拟节注册到k8s集群中,并且支持监听容器组资源,通过调用虚拟集群客户端进行容器组的生命周期管理,从而实现模拟管理容器生命周期的过程。
但是,由于性能测试工具不具备event发送能力,并且因是调用虚拟集群客户端,也不具备模拟端口的分配和上报能力,存在较严重的模拟失真的问题,从而导致其对集群路由工具的读写压力实际上远小于真实node。
为了至少部分地解决相关技术中存在的技术问题,本公开提供了一种集群性能测试方法及装置、电子设备和计算机可读存储介质,可以应用于计算机技术和金融科技领域。该集群性能测试方法,包括:响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息;利用事件发送工具,将容器组事件信息发送至集群路由工具,其中,容器组事件信息是根据路由配置信息确定的;利用集群路由工具,对容器组事件信息进行处理,得到路由配置键值关系;以及,根据路由配置键值关系,对目标集群进行测试,得到集群性能测试结果。
需要说明的是,本公开实施例提供的集群性能测试方法和装置可用于计算机技术和金融科技领域,例如应用于金融机构的集群性能测试。本公开实施例提供的集群性能测试方法和装置也可用于除计算机技术和金融科技领域之外的任意领域,例如应用于信息安全技术领域。本公开实施例提供的集群性能测试方法和装置的应用领域不做限定。
图1示意性示出了根据本公开实施例的可以应用集群性能测试方法的***架构。需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
如图1所示,根据该实施例的***架构100可以包括第一终端设备101、第二终端设备102、第三终端设备103,网络104和服务器105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用第一终端设备101、第二终端设备102、第三终端设备103中的至少一个通过网络104与服务器105交互,以接收或发送消息等。第一终端设备101、第二终端设备102、第三终端设备103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
第一终端设备101、第二终端设备102、第三终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用第一终端设备101、第二终端设备102、第三终端设备103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的集群性能测试方法一般可以由服务器105执行。相应地,本公开实施例所提供的集群性能测试装置一般可以设置于服务器105中。本公开实施例所提供的集群性能测试方法也可以由不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的集群性能测试装置也可以设置于不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群中。
备选地,本公开实施例所提供的集群性能测试方法也可以由第一终端设备101、第二终端设备102或第三终端设备103执行,或者也可以由不同于第一终端设备101、第二终端设备102或第三终端设备103的其他终端设备执行。相应地,本公开实施例所提供的集群性能测试装置也可以设置于第一终端设备101、第二终端设备102或第三终端设备103中,或设置于不同于第一终端设备101、第二终端设备102或第三终端设备103的其他终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图2示意性示出了根据本公开实施例的集群性能测试方法的流程图。
如图2所示,该集群性能测试方法200包括操作S210~S240。
在操作S210,响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息。
在操作S220,利用事件发送工具,将容器组事件信息发送至集群路由工具,其中,容器组事件信息是根据路由配置信息确定的。
在操作S230,利用集群路由工具,对容器组事件信息进行处理,得到路由配置键值关系。
在操作S240,根据路由配置键值关系,对目标集群进行测试,得到集群性能测试结果。
根据本公开的实施例,在接收到性能测试请求之后,可以根据性能测试请求构建目标集群,并利用性能测试工具,对目标集群中的每个容器组分别进行监听,得到与每个容器组各自对应的容器组信息。性能测试工具(即kubemark)是用于Kubernetes集群性能测试和基准测试的工具,例如可以用于模拟大规模Kubernetes集群环境,以评估Kubernetes在不同负载条件下的性能表现和扩展能力。
根据本公开的实施例,可以利用性能测试工具,对与每个容器组各自对应的容器组信息进行持续监听,在监听到目标集群的多个容器组信息中的目标容器组信息发生变更的情况下,可以获取目标容器组的路由配置信息。路由配置信息可以包括以下至少之一:内部端口信息(即ContainerPort)和主机端口信息(即HostPort)。
根据本公开的实施例,内部端口信息可以指容器内部应用程序所监听的网络端口。在容器中运行的应用程序可能会暴露一些网络服务,例如Web服务器、数据库等,这些服务通常会监听某个特定的端口来提供网络访问。在Kubernetes的Pod配置中,可以通过定义容器的内部端口信息来声明容器内部应用程序所监听的端口号。这样Kubernetes就知道了该容器内应用程序所使用的端口号,并可以在Pod被调度到节点上后,配置相应的网络规则来允许对该端口的访问。
根据本公开的实施例,主机端口信息是一种配置选项,允许将Pod中的容器端口绑定到宿主机的网络接口上。通过使用HostPort,可以将容器内的应用程序监听的端口直接映射到宿主机上的相同端口。
根据本公开的实施例,在获得路由配置信息之后,可以利用事件发送工具(即eventClient),根据路由配置信息确定容器组事件信息。事件发送工具可以用于自动生成并转发容器组事件信息。容器组事件信息(即Event)是一种重要的资源类型,可以用于记录***中发生的各种事件。当集群中的任何事件发生时,Kubernetes就可以生成一个事件对象并将其存储在***的事件存储区(Ev即ent Store)中,供用户查询和监控。
根据本公开的实施例,在获得容器组事件信息之后,可以利用事件发送工具,将容器组事件信息发送至集群路由工具。集群路由工具(即kube-apiserver)是Kubernetes的核心组件之一,相当于是Kubernetes API的前端接口,负责处理所有对Kubernetes集群的操作请求。集群路由工具可以用于提供集群内外与Kubernetes API进行交互的方式,并可以将用户提交的API请求转发给下层的etcd存储和其他控制器组件。
根据本公开的实施例,在集群路由工具获得容器组事件信息之后,可以根据至少一个预设键信息,对容器组事件信息进行匹配,得到与至少一个预设键信息各自对应的值信息。在此基础上,可以根据至少一个预设键信息和与至少一个预设键信息各自对应的值信息,确定路由配置键值关系。在获得路由配置键值关系之后,可以对该目标集群执行性能测试任务,从而得到集群性能测试结果。
根据本公开的实施例,通过监听目标集群中的目标容器组信息变更并获取路由配置信息,利用事件发送工具将容器组事件信息发送至集群路由工具,实现了动态的路由配置管理以及自动化的事件处理和事件发送能力,由此能够及时响应容器组信息变更,自动更新路由配置,从而提高了响应速度和后续性能测试的效率。在此基础上,通过集群路由工具对路由配置信息进行处理,得到路由配置键值关系,并对目标集群进行性能测试,得到集群性能测试结果,由此提高了集群管理的智能化水平,能够实现自动化的集群性能测试,至少部分地克服了相关技术中由于性能测试工具不具备事件发送能力以及模拟端口分配和上报能力,存在较严重的模拟失真的技术问题,能够较为有效地提高集群性能测试结果的准确性。
下面参考图3~图6,对根据本发明实施例的集群性能测试方法200做进一步说明。
根据本公开的实施例,集群性能测试方法200还可以包括如下操作。
响应于接收到性能测试请求,根据性能测试请求包括的虚拟集群信息,构建目标集群,其中,目标集群包括至少一个容器组。将至少一个容器组分别关联到容器镜像库中的镜像,得到每个容器组的访问登录信息。利用性能测试工具,基于每个容器组的访问登录信息,创建集群运行环境。对集群运行环境中的每个容器组分别进行监听,得到与每个容器组各自对应的容器组信息。
根据本公开的实施例,可以将生成性能测试请求的代码预先写入脚本中,响应于检测到用户发起的性能测试操作,客户端可以运行该脚本,根据与性能测试操作对应的虚拟集群信息,生成性能测试请求报文。客户端可以将该性能测试请求报文发送至服务端,以便于服务端根据该性能测试请求报文中的虚拟集群信息构建目标集群。
根据本公开的实施例,虚拟集群信息可以包括集群的规模和架构。例如,虚拟集群信息可以包括以下至少之一:节点数量、容器数量和网络配置等。在获得虚拟集群信息之后,可以根据需求选择适合的云服务提供商(例如,AWS、Azure、GCP)或者自建基础设施(例如,物理服务器、虚拟机等)来搭建目标集群。在此基础上,可以根据选择的容器管理平台(例如Kubernetes、Docker Swarm),在目标集群上安装和配置容器管理平台,并设置网络插件和存储插件等。
在此基础上,可以在目标集群中创建和配置所需的节点,可以是物理服务器、虚拟机或云服务提供商的实例,并将虚拟集群中使用的容器镜像部署到目标集群中,配置相应的环境变量、存储卷、网络参数等。此外,还可以设置监控和告警工具,以监视目标集群的运行状态和性能指标,并进行必要的调优和优化。
根据本公开的实施例,容器镜像库(即Container Registry)可以是用于存储、管理和分发容器镜像的中心化服务。容器镜像库提供了统一的接口和协议,使得用户可以方便地上传、下载、查询和删除容器镜像。在获得至少一个容器组之后,可以将至少一个容器组分别关联到容器镜像库中的镜像,得到每个容器组的访问登录信息。访问登录信息可以包括以下至少之一:IP地址、端口映射、登录凭据、访问权限和容器日志。
根据本公开的实施例,在使用性能测试工具之前,可以对性能测试工具进行常规的初始化。在经初始化之后,可以利用该性能测试工具基于每个容器组的访问登录信息,创建集群运行环境。集群运行环境可以用于托管和管理集群的计算资源、网络设施、存储资源和自动化运维工具等基础设施。计算资源可以指集群中包含的多台计算节点。网络设施可以指用于支持容器之间的通信、外部访问以及服务发现等功能的设施。存储资源可以指用于持久化存储的设施,例如数据库、文件存储等。自动化运维工具可以指用于简化集群的部署、配置和维护工作的工具。
根据本公开的实施例,在获得集群运行环境之后,可以对集群运行环境中的至少一个容器组等资源进行持续监听,以获得与每个容器组各自对应的容器组信息。具体的监听方式可以根据实际业务需求进行配置,在此不作限定。例如,监听方式可以包括以下至少之一:基于容器编排工具的CLI(Command Line Interface,命令行界面)工具的监听方式、基于监控和管理工具的监听方式、基于云服务提供商的控制台的监听方式和基于API查询的监听方式。
根据本公开的实施例,通过根据性能测试请求包括的虚拟集群信息构建目标集群,将容器组关联到容器镜像库中的镜像,得到每个容器组的访问登录信息,并利用性能测试工具,基于每个容器组的访问登录信息,创建集群运行环境,由此实现了目标集群的快速构建,为后续的性能测试提供必要的运行环境。在此基础上,提高利用性能测试工具创建集群运行环境并对每个容器组进行监听,可以提升后续性能测试的效率和准确性,从而能够更为精确地监测和评估每个容器组的性能表现,进而提高了对集群性能的监测和优化能力。
图3示意性示出了根据本公开实施例的获得与每个容器组各自对应的容器组信息过程的示例示意图。
如图3所示,在300中,响应于接收到性能测试请求301,可以根据性能测试请求301包括的虚拟集群信息3011,构建目标集群302。目标集群302包括至少一个容器组。可以将目标集群302中的至少一个容器组分别关联到容器镜像库303中的镜像,得到每个容器组的访问登录信息304。
在此基础上,可以利用性能测试工具305,基于每个容器组的访问登录信息304,创建集群运行环境306。对集群运行环境306中的每个容器组分别进行监听,得到与每个容器组各自对应的容器组信息307。
根据本公开的实施例,在变更类型为创建操作的情况下,操作S210可以包括如下操作。
响应于监听到目标容器组信息发生变更,利用内部端口检测工具,获取内部端口信息。利用主机端口检测工具,获取初始主机端口信息。基于预设规则,对内部端口信息和初始主机端口信息进行处理,得到路由配置信息。
根据本公开的实施例,目标容器组信息可以具有变更类型,变更类型可以包括以下之一:创建操作、删除操作和更新操作,虚拟集群客户端可以部署有内部端口检测工具和主机端口检测工具。
根据本公开的实施例,响应于监听的目标容器组信息发生变更,例如状态切换、异常消息等情况下,可以触发性能测试工具,调用虚拟集群客户端对pod进行生命周期管理。变更类型可以包括以下之一:创建(即Add)操作、删除(即Delete)操作和更新(即Update)操作。虚拟集群客户端(即fake docker client)可以用于指用于模拟Docker客户端行为的假客户端,以便于测试和验证代码在与Docker交互时的表现。
根据本公开的实施例,模拟客户端的创建方式可以包括:选择Python或其他语言中提供的模拟库;使用选定的模拟库,针对Docker客户端可能会调用的API进行模拟;根据测试场景和需求,定义模拟对象的行为和返回结果;基于模拟库提供的功能,编写测试用例来验证您的模拟客户端是否按预期工作;运行编写的测试用例,以验证模拟客户端的行为是否符合预期。
根据本公开的实施例,在变更类型为创建操作的情况下,可以在虚拟集群客户端中增加用于检测容器的内部端口信息(即ContainerPort)的内部端口检测工具,以及用于检测容器的主机端口信息(即HostPort)的主机端口检测工具。
根据本公开的实施例,通过响应于监听到目标容器组信息发生变更,可以及时掌握容器组的状态变化,以便及时进行处理和调整。通过利用内部端口检测工具和主机端口检测工具,可以分别获取内部端口信息和初始的主机端口信息,可以快速准确地获取容器组的网络配置信息。通过基于预设规则,对内部端口信息和初始主机端口信息进行处理,得到路由配置信息,由此能够根据预设的规则自动化地处理和调整路由配置信息,从而提高自动化管理能力和运维效率。
根据本公开的实施例,基于预设规则,对内部端口信息和初始主机端口信息进行处理,得到路由配置信息可以包括如下操作。
响应于内部端口信息为非空且初始主机端口信息为空,对初始主机端口信息进行处理,得到中间主机端口信息。根据内部端口信息和中间主机端口信息,确定路由配置信息。
根据本公开的实施例,预设规则可以为在内部端口信息为非空且初始主机端口信息为空的情况下,对初始主机端口信息进行处理,并进一步确定路由配置信息。在这种填写了内部端口信息但未填写初始主机端口信息的情况下,可以赋随机值到容器的初始主机端口信息中,得到主机端口信息。随机值可以据实际业务需求进行配置,在此不作限定。例如,随机值可以为非零值。在获得主机端口信息之后,可以将内部端口信息和中间主机端口信息,确定为路由配置信息。
根据本公开的实施例,通过在内部端口信息为非空且初始主机端口信息为空,对初始主机端口信息进行处理,得到中间主机端口信息,可以有效填补信息缺失。在此基础上,通过结合内部端口信息和主机端口信息,可以较为准确地确定路由配置,从而保证数据传输的正确性和稳定性。
图4示意性示出了根据本公开实施例的响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息过程的示例示意图。
如图4所示,在400中,虚拟集群客户端402部署有内部端口检测工具4021和主机端口检测工具4022。响应于监听到目标容器组信息401发生变更,可以利用内部端口检测工具4021,获取内部端口信息403。利用主机端口检测工具4022,获取初始主机端口信息404。在获得内部端口信息403和初始主机端口信息404之后,可以执行操作S410。
在操作S410,确定初始内部端口信息是否为非空且初始主机端口信息是否为空?若否,可以直接根据内部端口信息403和初始主机端口信息404,确定路由配置信息406。若是,则可以对初始主机端口信息404进行处理,得到中间主机端口信息405。根据内部端口信息403和中间主机端口信息405,确定路由配置信息406。
根据本公开的实施例,集群性能测试方法200还可以包括如下操作。
利用集群路由工具,根据路由配置信息,获取容器组的容器运行状态信息。
根据本公开的实施例,操作S220可以包括如下操作。
根据容器运行状态信息,确定容器组事件信息。利用事件发送工具,将容器组事件信息发送至集群路由工具。
根据本公开的实施例,在获得路由配置信息之后,可以利用集群路由工具,获取用于访问Kubernetes API的凭证(例如客户端证书、访问令牌)。选择适合编程语言的Kubernetes API客户端库来与集群路由工具进行通信。使用选定的客户端库,建立与集群路由工具的连接,并进行身份验证。通过调用适当的API方法,查询容器组的运行状态信息。在此基础上,可以根据API返回的数据结构,解析并提取容器运行状态信息(即podStatus)。
根据本公开的实施例,容器运行状态信息可以包括以下至少之一:容器标识、容器名称、容器运行状态、容器健康状态、容器日志、容器资源使用情况、容器创建时间、容器所属节点信息和容器相关的元数据等。
根据本公开的实施例,在获得容器运行状态信息之后,可以利用事件发送工具(即eventClient)对该容器运行状态信息进行处理,得到容器组事件信息(即Event)。容器组事件信息提供了对集群中发生的重要事件和状态变化的记录和监控。Event可以理解为Kubernetes API对象的一部分,用于跟踪和记录集群中各种事件的发生。容器组事件信息可以包括以下至少之一:事件类型、事件源、事件原因、事件消息和事件级别等。
在一个示例中,事件类型可以包括以下之一:正常事件、警告事件和错误事件等。事件源可以指引起事件发生的对象或组件,可以是Pod、Node、Namespace等Kubernetes资源,也可以是***组件或自定义的应用程序。事件原因可以指事件发生的具体原因。事件消息可以指关于事件的更为详细的信息。事件级别可以表示事件的严重程度和紧急性。
根据本公开的实施例,在获得容器组事件信息,即kuberuntime_manager检测到具备主机端口信息之后,可以利用事件发送工具,将该容器组事件信息发送至集群路由工具。通过集群路由工具对该容器组事件信息进行分析,从而及时发现和处理集群中发生的问题。
根据本公开的实施例,通过利用集群路由工具,根据路由配置信息,可以获取容器组的容器运行状态信息,有助于实时获取容器的状态信息,便于后续的容器管理和调度。在此基础上,通过基于容器运行状态信息,确定容器组事件信息,有助于及时响应和处理容器组中的异常情况。通过利用事件发送工具,将容器组事件信息发送至集群路由工具,由此可以实现事件信息的快速传递和处理,有利于提高后续集群性能测试的效率。
图5示意性示出了根据本公开实施例的利用事件发送工具,将容器组事件信息发送至集群路由工具过程的示例示意图。
如图5所示,在500中,利用集群路由工具501,根据路由配置信息502,获取容器组的容器运行状态信息503。在此基础上,可以根据容器运行状态信息503,确定容器组事件信息504。利用事件发送工具505,将容器组事件信息504发送至集群路由工具501。
根据本公开的实施例,操作S230可以包括如下操作。
根据至少一个预设键信息,对路由配置信息进行字段匹配,得到与每个预设键信息各自对应的值信息。根据至少一个预设键信息和与每个预设键信息对应的值信息,构建路由配置键值关系。
根据本公开的实施例,可以调用集群路由工具接口,将路由配置信息上报到容器组注释(即pod annotation)中。针对每个预设键信息,可以将该预设键信息与路由配置信息进行字段匹配,得到与预设键信息对应的值信息。以此类推,可以获得与每个预设键信息各自对应的值信息。在此基础上,可以根据至少一个预设键信息和与每个预设键信息对应的值信息,构建路由配置键值关系。
根据本公开的实施例,通过将预设键信息与容器组事件信息中的字段进行匹配,可以找到与每个预设键信息各自对应的值信息,实现了较为有效的数据筛选和提取。在此基础上,通过将预设键信息和对应的值信息进行关联,可以建立清晰的键值对关系,便于后续的路由配置操作和管理。
根据本公开的实施例,操作S240可以包括如下操作。
根据路由配置键值关系,利用目标集群执行性能测试任务。利用仿真管理器,监听性能测试任务的执行状态。响应于执行状态表征性能测试任务执行完成,利用集群路由工具接收集群性能测试结果。
根据本公开的实施例,在获得路由配置键值关系之后,可以基于该路由配置键值关系,利用目标集群执行性能测试任务。仿真管理器可以用于监听该性能测试任务的执行状态。执行状态可以包括以下之一:执行中、执行停止和执行完成。在监听到执行状态为执行完成的情况下,可以获取与性能测试任务对应的集群性能测试结果。
根据本公开的实施例,通过执行性能测试任务,运行测试脚本并收集性能数据来获得集群性能测试结果。在获得集群性能测试结果之后,可以对该集群性能测试结果进行分析,发现潜在性能瓶颈和问题点,并可以根据分析结果进行优化调整,例如调整资源配置、优化代码逻辑等,由此实现仿真加强,例如可以使得实测产生的数据量为原有的6倍以上(增加的主要为event资源),产生的写集群路由工具请求次数为原有的2倍。
根据本公开的实施例,通过根据路由配置键值关系,可以准确地将性能测试任务分发到指定的集群进行执行,由此提高了集群性能测试的准确性和效率。通过利用仿真管理器监听性能测试任务的执行状态,可以实时监控测试任务的执行情况,从而能够及时发现测试过程中出现的问题,有利于快速解决和优化测试流程。在此基础上,响应于执行状态表征性能测试任务执行完成后,利用集群路由工具可以接收集群性能测试结果,由此便于对集群性能测试结果进行分析和处理,有助于提高集群性能测试结果的准确性。
图6示意性示出了根据本公开实施例的集群性能测试过程的示例示意图。
如图6所示,在600中,响应于监听到目标容器组信息601发生变更,可以利用虚拟集群客户端602获取路由配置信息603。根据路由配置信息603,确定容器组事件信息604。利用事件发送工具605,将容器组事件信息604发送至集群路由工具606。
集群路由工具606可以根据至少一个预设键信息607,对容器组事件信息604进行字段匹配,得到与每个预设键信息各自对应的值信息608。根据至少一个预设键信息607和与每个预设键信息对应的值信息608,构建路由配置键值关系609。
在此基础上,可以根据路由配置键值关系609,利用目标集群执行性能测试任务610。利用仿真管理器,监听性能测试任务610的执行状态611。响应于执行状态表征611性能测试任务610执行完成,可以利用集群路由工具606接收集群性能测试结果612。
在本公开的实施例中,基于主机端口信息的随机分配与上报机制,在性能测试工具的虚拟集群客户端中对容器配置的主机端口信息进行自动化模拟分配,并通过修改性能测试工具源码,增加事件发送工具,从而实现了node的压力仿真。此外,在实际应用中发现了集群中集群路由工具的性能问题及内存泄漏问题,补全了事件和主机端口信息的资源上报的测试场景,加强了性能测试工具的仿真效果,实测产生的数据量可以为原有的5倍以上(主要为事件资源),产生的集群路由请求次数为原有的2倍,实现了高度仿真的集群性能测试场景,从而减小了集群压力测试的误差,提高了集群性能测试结果的准确性。
在本公开的实施例中,在获取用户的信息之前,可以获得用户的同意或授权。例如,在操作S210之前,可以向用户发出获取用户信息的请求。在用户同意或授权可以获取用户信息的情况下,执行操作S210。
以上仅是示例性实施例,但不限于此,还可以包括本领域已知的其他集群性能测试方法,只要能够有效地提高集群性能测试结果的准确性即可。
图7示意性示出了根据本公开实施例的集群性能测试装置的框图。
如图7所示,集群性能测试装置700可以包括第一获取模块710、发送模块720、处理模块730和测试模块740。
第一获取模块710,用于响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息。
发送模块720,用于利用事件发送工具,将容器组事件信息发送至集群路由工具,其中,容器组事件信息是根据路由配置信息确定的。
处理模块730,用于利用集群路由工具,对容器组事件信息进行处理,得到路由配置键值关系。
测试模块740,用于根据路由配置键值关系,对目标集群进行测试,得到集群性能测试结果。
根据本公开的实施例,集群性能测试装置700还可以包括构建模块、关联模块、创建模块和监听模块。
构建模块,用于响应于接收到性能测试请求,根据性能测试请求包括的虚拟集群信息,构建目标集群,其中,目标集群包括至少一个容器组。
关联模块,用于将至少一个容器组分别关联到容器镜像库中的镜像,得到每个容器组的访问登录信息。
创建模块,用于利用性能测试工具,基于每个容器组的访问登录信息,创建集群运行环境。
监听模块,用于对集群运行环境中的每个容器组分别进行监听,得到与每个容器组各自对应的容器组信息。
根据本公开的实施例,目标容器组信息具有变更类型,变更类型包括以下之一:创建操作、删除操作和更新操作,虚拟集群客户端部署有内部端口检测工具和主机端口检测工具。
根据本公开的实施例,在变更类型为创建操作的情况下,获取模块710可以包括第一获取单元、第二获取单元和处理单元。
第一获取单元,用于响应于监听到目标容器组信息发生变更,利用内部端口检测工具,获取内部端口信息。
第二获取单元,用于利用主机端口检测工具,获取初始主机端口信息。
处理单元,用于基于预设规则,对内部端口信息和初始主机端口信息进行处理,得到路由配置信息。
根据本公开的实施例,处理单元可以包括处理子单元和确定子单元。
处理子单元,用于响应于内部端口信息为非空且初始主机端口信息为空,对初始主机端口信息进行处理,得到中间主机端口信息。
确定子单元,用于根据内部端口信息和中间主机端口信息,确定路由配置信息。
根据本公开的实施例,集群性能测试装置700还可以包括第二获取模块。
第二获取模块,用于利用集群路由工具,根据路由配置信息,获取容器组的容器运行状态信息。
根据本公开的实施例,发送模块720可以包括确定单元和发送单元。
确定单元,用于根据容器运行状态信息,确定容器组事件信息。
发送单元,用于利用事件发送工具,将容器组事件信息发送至集群路由工具。
根据本公开的实施例,处理模块730可以包括匹配单元和构建单元。
匹配单元,用于根据至少一个预设键信息,对容器组事件信息进行字段匹配,得到与每个预设键信息各自对应的值信息。
构建单元,用于根据至少一个预设键信息和与每个预设键信息对应的值信息,构建路由配置键值关系。
根据本公开的实施例,测试模块740可以包括执行单元、监听单元和接收单元。
执行单元,用于根据路由配置键值关系,利用目标集群执行性能测试任务。
监听单元,用于利用仿真管理器,监听性能测试任务的执行状态。
接收单元,用于响应于执行状态表征性能测试任务执行完成,利用集群路由工具接收集群性能测试结果。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块710、发送模块720、处理模块730和测试模块740中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一获取模块710、发送模块720、处理模块730和测试模块740中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块710、发送模块720、处理模块730和测试模块740中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中集群性能测试装置部分与本公开的实施例中集群性能测试方法部分是相对应的,集群性能测试装置部分的描述具体参考集群性能测试方法部分,在此不再赘述。
图8示意性示出了根据本公开实施例的适于实现集群性能测试方法的电子设备的框图。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,根据本公开实施例的计算机电子设备800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分809加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有电子设备800操作所需的各种程序和数据。处理器801、ROM802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM 802和/或RAM 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备800还可以包括输入/输出(I/O)接口805,输入/输出(I/O)接口805也连接至总线804。电子设备800还可以包括连接至输入/输出(I/O)接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至输入/输出(I/O)接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 802和/或RAM 803和/或ROM 802和RAM 803以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的集群性能测试方法。
在该计算机程序被处理器801执行时,执行本公开实施例的***/装置中限定的上述功能。根据本公开的实施例,上文描述的***、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分809被下载和安装,和/或从可拆卸介质811被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (11)
1.一种集群性能测试方法,包括:
响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息;
利用事件发送工具,将容器组事件信息发送至集群路由工具,其中,所述容器组事件信息是根据所述路由配置信息确定的;
利用所述集群路由工具,对所述容器组事件信息进行处理,得到路由配置键值关系;以及
根据所述路由配置键值关系,对所述目标集群进行测试,得到集群性能测试结果。
2.根据权利要求1所述的方法,还包括,在所述响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息之前:
响应于接收到性能测试请求,根据所述性能测试请求包括的虚拟集群信息,构建所述目标集群,其中,所述目标集群包括至少一个容器组;
将所述至少一个容器组分别关联到容器镜像库中的镜像,得到每个所述容器组的访问登录信息;
利用性能测试工具,基于每个所述容器组的访问登录信息,创建集群运行环境;以及
对所述集群运行环境中的每个所述容器组分别进行监听,得到与每个所述容器组各自对应的容器组信息。
3.根据权利要求1所述的方法,其中,所述目标容器组信息具有变更类型,所述变更类型包括以下之一:创建操作、删除操作和更新操作,虚拟集群客户端部署有内部端口检测工具和主机端口检测工具;
在所述变更类型为创建操作的情况下,所述响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息包括:
响应于监听到所述目标容器组信息发生变更,利用所述内部端口检测工具,获取内部端口信息;
利用所述主机端口检测工具,获取初始主机端口信息;以及
基于预设规则,对所述内部端口信息和所述初始主机端口信息进行处理,得到所述路由配置信息。
4.根据权利要求3所述的方法,其中,所述基于预设规则,对所述内部端口信息和所述初始主机端口信息进行处理,得到所述路由配置信息包括:
响应于所述内部端口信息为非空且所述初始主机端口信息为空,对所述初始主机端口信息进行处理,得到中间主机端口信息;以及
根据所述内部端口信息和所述中间主机端口信息,确定所述路由配置信息。
5.根据权利要求1至4中任一项所述的方法,还包括,在所述利用事件发送工具,将容器组事件信息发送至集群路由工具之前:
利用所述集群路由工具,根据所述路由配置信息,获取所述容器组的容器运行状态信息;
所述利用事件发送工具,将容器组事件信息发送至集群路由工具包括:
根据所述容器运行状态信息,确定所述容器组事件信息;以及
利用所述事件发送工具,将所述容器组事件信息发送至所述集群路由工具。
6.根据权利要求1至4中任一项所述的方法,其中,所述利用所述集群路由工具,对所述容器组事件信息进行处理,得到路由配置键值关系包括:
根据至少一个预设键信息,对所述容器组事件信息进行字段匹配,得到与每个所述预设键信息各自对应的值信息;以及
根据所述至少一个预设键信息和与每个所述预设键信息对应的值信息,构建所述路由配置键值关系。
7.根据权利要求1至4中任一项所述的方法,其中,所述根据所述路由配置键值关系,对所述目标集群进行测试,得到集群性能测试结果包括:
根据所述路由配置键值关系,利用所述目标集群执行性能测试任务;
利用仿真管理器,监听所述性能测试任务的执行状态;以及
响应于所述执行状态表征所述性能测试任务执行完成,利用所述集群路由工具接收所述集群性能测试结果。
8.一种集群性能测试装置,包括:
第一获取模块,用于响应于监听到目标集群中的目标容器组信息发生变更,获取目标容器组的路由配置信息;
发送模块,用于利用事件发送工具,将容器组事件信息发送至集群路由工具,其中,所述容器组事件信息是根据所述路由配置信息确定的;
处理模块,用于利用所述集群路由工具,对所述容器组事件信息进行处理,得到路由配置键值关系;以及
测试模块,用于根据所述路由配置键值关系,对所述目标集群进行测试,得到集群性能测试结果。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个计算机程序,
其特征在于,所述一个或多个处理器执行所述一个或多个计算机程序以实现根据权利要求1~7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现根据权利要求1~7中任一项所述方法的步骤。
11.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现根据权利要求1~7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410263236.8A CN118158135A (zh) | 2024-03-07 | 2024-03-07 | 集群性能测试方法及装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410263236.8A CN118158135A (zh) | 2024-03-07 | 2024-03-07 | 集群性能测试方法及装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118158135A true CN118158135A (zh) | 2024-06-07 |
Family
ID=91301310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410263236.8A Pending CN118158135A (zh) | 2024-03-07 | 2024-03-07 | 集群性能测试方法及装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118158135A (zh) |
-
2024
- 2024-03-07 CN CN202410263236.8A patent/CN118158135A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10606565B2 (en) | Visual devops systems and methods | |
US11513791B2 (en) | Performance monitoring of system version releases | |
US9712410B1 (en) | Local metrics in a service provider environment | |
US9727439B2 (en) | Tracking application deployment errors via cloud logs | |
US8819638B2 (en) | Application protoyping suite | |
US20060235664A1 (en) | Model-based capacity planning | |
US20160217159A1 (en) | Database virtualization | |
US10339039B2 (en) | Virtual service interface | |
US20160125052A1 (en) | Database virtualization | |
US10567227B2 (en) | Production software application performance and resiliency testing | |
US11036608B2 (en) | Identifying differences in resource usage across different versions of a software application | |
WO2015058216A1 (en) | Event-driven data processing system | |
US11163552B2 (en) | Federated framework for container management | |
KR20230086805A (ko) | 변경 영향 시뮬레이션 분석 | |
US20210224102A1 (en) | Characterizing operation of software applications having large number of components | |
CN108462745B (zh) | 一种新型云平台资源管理与交付方法和装置 | |
US11783065B2 (en) | Business data protection for running tasks in computer system | |
Truyen et al. | Managing feature compatibility in Kubernetes: Vendor comparison and analysis | |
CN113918534A (zh) | 一种策略处理***及方法 | |
US20230118838A1 (en) | Advanced agent instrumentation for opentelemetry implementations | |
CN114640614B (zh) | Rpc接口自动化测试方法、***、电子设备、介质及产品 | |
US11709750B2 (en) | Dynamically mapping software infrastructure utilization | |
US11748686B1 (en) | Automated onboarding service | |
US11330068B2 (en) | Methods and systems for recording user operations on a cloud management platform | |
US11868349B2 (en) | Row secure table plan generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |