CN115098105B - 容器云性能测试评估实现方法、装置、设备及介质 - Google Patents
容器云性能测试评估实现方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115098105B CN115098105B CN202210164432.0A CN202210164432A CN115098105B CN 115098105 B CN115098105 B CN 115098105B CN 202210164432 A CN202210164432 A CN 202210164432A CN 115098105 B CN115098105 B CN 115098105B
- Authority
- CN
- China
- Prior art keywords
- test
- information
- tool
- compiling
- environment
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及云计算的领域,尤其是涉及容器云性能测试评估实现方法、装置、设备及介质。其方法包括:当前检测到数据获取指令后,获取容器云性能测试文件,基于容器云性能测试文件对编译环境进行部署,生成编译环境信息,获取测试环境信息,判断测试环境信息是否符合预设环境测试信息,若符合,则基于编译环境信息确定第一编译流程,并通过第一编译流程获取第一测试工具;若不符合,则获取线上测试工具信息,并基于线上测试工具信息确定第二编译流程,通过第二编译流程获取第二测试工具,基于第一测试工具或第二测试工具对容器云性能执行测试,生成测试日志信息,然后控制显示测试日志信息本申请具有提高容器云性能测试的使用效率的效果。
Description
技术领域
本申请涉及云计算的领域,尤其是涉及容器云性能测试评估实现方法、装置、设备及介质。
背景技术
大规模容器云性能测试评估的目的是清楚的知道运行的大规模容器集群平台的性能瓶颈,如API Server查询和延时时间、调度的效率、扩展效率以及网络损耗,涉及稳定性、扩展效率以及组件性能三大方面。
现有的容器云性能测试评估主要是基于线上环境以及非国产化环境开展的,在开展容器云性能测试评估前,还需要对测试工具进行编译搭建,在测试工具编译好后,获取容器集群平台的容器集群节点,并通过将容器集群节点导入到测试工具中,以获取容器集群平台的性能参数。
针对于上述相关技术,发明人认为现有的容器云性能测试评估由于仅支持线上环境以及非国产化环境的测试评估,导致人们无法直接在国产化环境下对非离线环境以及离线环境的云容器性能进行编译测试,从而降低了容器云性能测试的使用效率。
发明内容
为了提高容器云性能测试的使用效率,本申请提供容器云性能测试评估实现方法、装置、设备及介质。
第一方面,本申请提供一种容器云性能测试评估实现方法,采用如下的技术方案:
一种容器云性能测试评估实现方法,包括:
当前检测到数据获取指令后,获取容器云性能测试文件;
基于所述容器云性能测试文件对编译环境进行部署,生成编译环境信息;
获取测试环境信息,所述测试环境信息包括离线环境信息以及非离线环境信息;
判断所述测试环境信息是否符合预设环境测试信息;
若符合,则基于所述编译环境信息确定第一编译流程,并通过所述第一编译流程获取第一测试工具;
若不符合,则获取线上测试工具信息,并基于所述线上测试工具信息确定第二编译流程,通过所述第二编译流程获取第二测试工具;
基于所述第一测试工具或所述第二测试工具对容器云性能执行测试,生成测试日志信息;
控制显示所述测试日志信息。
通过采用上述技术方案,在国产硬件的基础上安装指定的国产操作系统,并将容器云性能测试文件上传至国产操作系统内,对编译环境进行部署。检测当前测试环境信息,判断其网络状态是否为离线环境信息,若是,则根据容器云性能测试文件编译的编译环境信息确定第一编译流程,并通过第一编译流程获取第一测试工具,若不是,则获取线上测试工具信息,并根据线上测试工具信息下载安装线上测试工具,通过线上测试工具信息确定第二编译流程,通过第二编译流程获取第二测试工,其中,第一测试工具为当前网络状态为离线状态时的测试工具,第二测试工具为当前网络状态为非离线状态时的测试工具。从而实现在国产化环境下对非离线环境以及离线环境的云容器性能进行编译测试,提高了容器云性能测试的使用效率。
在另一种可能实现的方式中,所述获取容器云性能测试文件,包括:
获取性能测试操作系统依赖、离线包资源、测试工具源码包以及测试工具依赖,所述离线包资源包括GO编译工具离线包以及容器镜像离线包,所述测试工具源码包括e2e源码以及kubetest源码;
基于所述性能测试操作系统依赖、所述离线包资源、所述测试工具源码包以及所述测试工具依赖,获取容器云性能测试文件。
通过采用上述技术方案,在对国产离线环境下的云容器进行性能测试评估前,将性能测试操作系统依赖、离线包资源、测试工具源码包以及测试工具依赖等文件上传至国产操作系统中,便于后续对云容器进行离线性能测试评估。
在另一种可能实现的方式中,所述基于所述容器云性能测试文件对编译环境进行部署,生成编译环境信息,包括:
获取root用户环境变量信息以及安装包路径信息,并将所述安装包路径信息添加到所述root用户环境变量信息;
获取预设执行指令,并基于所述预设执行指令对所述root用户环境变量进行配置更新;
对所述GO编译工具离线包进行解压部署,获取GO编译环境参数,并对所述GO编译环境参数进行配置更新;
创建GOPATH路径文件,所述GOPATH路径文件用于存储编译后的源代码文件;
基于所述GOPATH路径文件以及配置更新后的所述root用户环境变量、所述GO编译环境参数,生成编译环境信息。
通过采用上述技术方案,在对离线状态下的国产系统进行编译环境部署时,首先获取root用户环境变量信息以及安装包路径信息,并将安装包路径信息添加到root用户环境变量信息,接着获取预设执行指令,并基于预设执行指令对root用户环境变量进行配置更新,然后对GO编译工具离线包进行解压部署,获取GO编译环境参数,并对GO编译环境参数进行配置更新,最后创建GOPATH路径文件,其中,GOPATH路径文件用于存储编译后的源代码文件,并基于GOPATH路径文件以及配置更新后的root用户环境变量、GO编译环境参数,从而完成编译环境的部署,为后续编译离线测试工具做铺垫。
在另一种可能实现的方式中,所述获取性能测试操作系统依赖、离线包资源、测试工具源码包以及测试工具依赖,包括:
其中,所述第一编译流程包括:
对所述测试工具源码进行解压,获取测试工具信息;
获取docker镜像,并将所述测试工具信息导入至所述docker镜像的镜像列表;
基于所述性能测试操作系统依赖,生成网络宽带安装指令;
执行所述网络宽带安装指令,将所述性能测试操作系统依赖安装至所述docker镜像的测试节点。
通过采用上述技术方案,离线环境下对云容器性能测试工具进行编译时,首先对测试工具源码进行解压,获取测试工具信息,接着加载docker镜像,并将测试工具信息导入至docker镜像的镜像列表,然后基于性能测试操作系统依赖,生成网络宽带安装指令,并执行网络宽带安装指令,将性能测试操作系统依赖安装至docker镜像的测试节点,从而完成离线状态下的测试工具编译。
在另一种可能实现的方式中,所述获取线上测试工具信息,并基于所述线上测试工具信息确定第二编译流程,包括:
对所述线上测试工具信息进行分析,确定所述线上测试工具信息的安装下载顺序信息;
基于所述安装下载顺序信息,确定第二编译流程;
其中,所述线上测试工具信息包括:test-infra基础设施测试工具、kubetest执行工具集、kubemark性能测试工具以及clusterloader2压力测试工具;
其中,所述第二编译流程包括:
对所述test-infra基础设施测试工具进行下载编译,生成运行环境信息;
基于所述运行环境信息,对kubetest执行工具集、kubemark性能测试工具以及clusterloader2压力测试工具进行安装,生成集群节点信息;
获取docker镜像,并将所述集群节点信息导入至所述docker镜像的测试节点。
通过采用上述技术方案,非离线环境下对云容器性能测试工具进行编译时,首先对test-infra基础设施测试工具进行下载编译,生成运行环境信息,然后基于运行环境信息,对kubetest执行工具集、kubemark性能测试工具以及clusterloader2压力测试工具进行安装,生成集群节点信息,最后获取docker镜像,并将集群节点信息导入至docker镜像的测试节点,从而完成非离线状态下的测试工具编译。
在另一种可能实现的方式中,所述基于所述第一测试工具或所述第二测试工具对容器云性能执行测试,生成测试日志信息,包括:
基于容器云性能确定至少一项测试项信息;
根据所述第一测试工具或所述第二测试工具对所述至少一项测试项信息进行测试,生成至少一项测试日志信息;
将所述至少一项测试项信息与所述至少一项测试日志信息对应绑定,生成测试日志信息。
通过采用上述技术方案,在离线状态时,使用第一测试工具对云容器性能进行测试,在非离线状态时,使用第二测试工具对云容器性能进行测试,在第一测试工具与第二测试工具测试完毕后,生成测试日志信息,便于工作人员进行查看。
在另一种可能实现的方式中,所述执行所述网络宽带安装指令,将所述性能测试操作系统依赖安装至所述docker镜像的测试节点,之后还包括:
获取用户根目录信息;
基于所述用户根目录信息确定权限用户信息以及与所述权限用户信息相对应的密钥信息;
创建公钥信息,并将所述公钥信息通过预设指令放入至所述测试节点。
通过采用上述技术方案,对离线环境进行免密登录操作,当用户在登陆测试系统时只需成功登录一次后就能享受一键登录,帮助用户减少登录操作,在登陆时间上也大幅度减少,相对于短信登录以及账号密码登录更加便捷,提高了用户的登录效率。
第二方面,本申请提供一种容器云性能测试评估实现装置,采用如下的技术方案:
一种容器云性能测试评估实现装置,包括:
文件获取模块,用于当前检测到数据获取指令后,获取容器云性能测试文件;
信息生成模块,用于基于所述容器云性能测试文件对编译环境进行部署,生成编译环境信息;
信息获取模块,用于获取测试环境信息,所述测试环境信息包括离线环境信息以及非离线环境信息;
环境判断模块,用于判断所述测试环境信息是否符合预设环境测试信息;
第一测试模块,用于若符合,则基于所述编译环境信息确定第一编译流程,并通过所述第一编译流程获取第一测试工具;
第二测试模块,用于若不符合,则获取线上测试工具信息,并基于所述线上测试工具信息确定第二编译流程,通过所述第二编译流程获取第二测试工具;
日志生成模块,用于基于所述第一测试工具或所述第二测试工具对容器云性能执行测试,生成测试日志信息;
控制显示模块,用于控制显示所述测试日志信息。
通过采用上述技术方案,在国产硬件的基础上安装指定的国产操作系统,并将容器云性能测试文件上传至国产操作系统内,对编译环境进行部署。检测当前测试环境信息,判断其网络状态是否为离线环境信息,若是,则根据容器云性能测试文件编译的编译环境信息确定第一编译流程,并通过第一编译流程获取第一测试工具,若不是,则获取线上测试工具信息,并根据线上测试工具信息下载安装线上测试工具,通过线上测试工具信息确定第二编译流程,通过第二编译流程获取第二测试工,其中,第一测试工具为当前网络状态为离线状态时的测试工具,第二测试工具为当前网络状态为非离线状态时的测试工具。从而实现在国产化环境下对非离线环境以及离线环境的云容器性能进行编译测试,提高了容器云性能测试的使用效率。
在一种可能的实现方式中,所述文件获取模块在获取容器云性能测试文件时,具体包括:
获取性能测试操作系统依赖、离线包资源、测试工具源码包以及测试工具依赖,所述离线包资源包括GO编译工具离线包以及容器镜像离线包,所述测试工具源码包括e2e源码以及kubetest源码;
基于所述性能测试操作系统依赖、所述离线包资源、所述测试工具源码包以及所述测试工具依赖,获取容器云性能测试文件。
在另一种可能的实现方式中,所述信息生成模块在基于所述容器云性能测试文件对编译环境进行部署,生成编译环境信息时,具体用于:
获取root用户环境变量信息以及安装包路径信息,并将所述安装包路径信息添加到所述root用户环境变量信息;
获取预设执行指令,并基于所述预设执行指令对所述root用户环境变量进行配置更新;
对所述GO编译工具离线包进行解压部署,获取GO编译环境参数,并对所述GO编译环境参数进行配置更新;
创建GOPATH路径文件,所述GOPATH路径文件用于存储编译后的源代码文件;
基于所述GOPATH路径文件以及配置更新后的所述root用户环境变量、所述GO编译环境参数,生成编译环境信息。
在另一种可能的实现方式中,所述第一测试模块在基于所述编译环境信息确定第一编译流程时,具体用于:
其中,所述第一编译流程包括:
对所述测试工具源码进行解压,获取测试工具信息;
获取docker镜像,并将所述测试工具信息导入至所述docker镜像的镜像列表;
基于所述性能测试操作系统依赖,生成网络宽带安装指令;
执行所述网络宽带安装指令,将所述性能测试操作系统依赖安装至所述docker镜像的测试节点。
在另一种可能的实现方式中,所述第二测试模块在获取线上测试工具信息,并基于所述线上测试工具信息确定第二编译流程时,具体用于:
对所述线上测试工具信息进行分析,确定所述线上测试工具信息的安装下载顺序信息;
基于所述安装下载顺序信息,确定第二编译流程;
其中,所述线上测试工具信息包括:test-infra基础设施测试工具、kubetest执行工具集、kubemark性能测试工具以及clusterloader2压力测试工具;
其中,所述第二编译流程包括:
对所述test-infra基础设施测试工具进行下载编译,生成运行环境信息;
基于所述运行环境信息,对kubetest执行工具集、kubemark性能测试工具以及clusterloader2压力测试工具进行安装,生成集群节点信息;
获取docker镜像,并将所述集群节点信息导入至所述docker镜像的测试节点。
在另一种可能的实现方式中,所述日志生成模块在基于所述第一测试工具或所述第二测试工具对容器云性能执行测试,生成测试日志信息时,具体用于:
基于容器云性能确定至少一项测试项信息;
根据所述第一测试工具或所述第二测试工具对所述至少一项测试项信息进行测试,生成至少一项测试日志信息;
将所述至少一项测试项信息与所述至少一项测试日志信息对应绑定,生成测试日志信息。
在另一种可能的实现方式中,所述装置还包括:目录获取模块、确定模块以及创建模块,其中,
所述目录获取模块,用于获取用户根目录信息;
所述确定模块,用于基于所述用户根目录信息确定权限用户信息以及与所述权限用户信息相对应的密钥信息;
所述创建模块,创建公钥信息,并将所述公钥信息通过预设指令放入至所述测试节点。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,该电子设备包括:
至少一个处理器;
存储器;
至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行上述容器云性能测试评估实现方法。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,包括:存储有能够被处理器加载并执行上述容器云性能测试评估实现方法的计算机程序。
综上所述,本申请包括以下有益技术效果:
1、通过采用上述技术方案,在国产硬件的基础上安装指定的国产操作系统,并将容器云性能测试文件上传至国产操作系统内,对编译环境进行部署。检测当前测试环境信息,判断其网络状态是否为离线环境信息,若是,则根据容器云性能测试文件编译的编译环境信息确定第一编译流程,并通过第一编译流程获取第一测试工具,若不是,则获取线上测试工具信息,并根据线上测试工具信息下载安装线上测试工具,通过线上测试工具信息确定第二编译流程,通过第二编译流程获取第二测试工,其中,第一测试工具为当前网络状态为离线状态时的测试工具,第二测试工具为当前网络状态为非离线状态时的测试工具。从而实现在国产化环境下对非离线环境以及离线环境的云容器性能进行编译测试,提高了容器云性能测试的使用效率;
2、通过采用上述技术方案,对离线环境进行免密登录操作,当用户在登陆测试系统时只需成功登录一次后就能享受一键登录,帮助用户减少登录操作,在登陆时间上也大幅度减少,相对于短信登录以及账号密码登录更加便捷,提高了用户的登录效率。
附图说明
图1是本申请实施例容器云性能测试评估实现方法的流程示意图;
图2是本申请实施例容器云性能测试评估实现装置的方框示意图;
图3是本申请实施例电子设备的示意图。
具体实施方式
以下结合附图1-3对本申请作进一步详细说明。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了容器云性能测试评估实现方法,由电子设备执行,该方法包括:
本申请实施例提供了一种容器云性能测试评估实现方法,由电子设备执行,该方法包括:
步骤S10,当前检测到数据获取指令后,获取容器云性能测试文件。
具体地,容器云性能测试文件包括操作系统依赖、编译离线包、容器镜像离线包、测试工具源码以及测试工具依赖。
步骤S11,基于容器云性能测试文件对编译环境进行部署,生成编译环境信息。
具体地,编译环境即为集成开发环境,是用于提供程序开发环境的应用程序,在本申请实施例中使用GO计算机编程语言,Go(又称Golang)是Google的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。
步骤S12,获取测试环境信息,测试环境信息包括离线环境信息以及非离线环境信息。
步骤S13,判断测试环境信息是否符合预设环境测试信息。
具体地,其中预设环境测试信息为离线环境信息。
步骤S14,若符合,则基于编译环境信息确定第一编译流程,并通过第一编译流程获取第一测试工具。
具体地,离线环境下所产生的第一测试工具是由第一编译流程获取的,第一编译流程包括解压测试工具包、加载docker镜像以及网络宽带iperf3 工具安装等等。其中,Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。网络宽带iperf3是用来测量一个网络最大带宽的工具。它支持调节各种参数比如发送持续时间,发送/接收缓存,通信协议。每次测试,它都会报告网络带宽,丢包率和其他参数。
步骤S15,则获取线上测试工具信息,并基于线上测试工具信息确定第二编译流程,通过第二编译流程获取第二测试工具。
具体地,非离线环境下所产生的第二测试工具是由第二编译流程获取的,第二编译流程包括test-infra工具下载编译、安装kubetest执行工具集、kubemark安装、压力测试clusterloader2安装以及加载docker镜像。
步骤S16,基于第一测试工具或第二测试工具对容器云性能执行测试,生成测试日志信息。
步骤S17,控制显示测试日志信息。
具体地,通过控制层(controller)、业务层(service)以及数据访问层(dao)对测试日志信息进行获取,在数据访问层只负责与数据库的数据交互,将数据进行读取操作,业务层需要根据系统的实际业务需求进行逻辑代码的编写,业务逻辑层调用数据访问层的相关方法实现与数据库的交互,并将执行结果反馈给控制层,控制层将测试日志信息发送到视图渲染器,对测试日志信息进行视图渲染,最后将测试日志信息进行回显。
本申请方案实施例是在国产化硬件安装指定的国产操作系统,通过在全国产环境编译、部署测试依赖库以及测试用容器镜像,可做到离线与在线对全国产化环境下性能测试和评估。支持国产麒麟操作系统和飞腾2000+,因指令集一致理论支持PK体系和ARM64CPU(如鲲鹏等)。
本申请实施例提供了一种容器云性能测试评估实现方法,在国产硬件的基础上安装指定的国产操作系统,并将容器云性能测试文件上传至国产操作系统内,对编译环境进行部署。检测当前测试环境信息,判断其网络状态是否为离线环境信息,若是,则根据容器云性能测试文件编译的编译环境信息确定第一编译流程,并通过第一编译流程获取第一测试工具,若不是,则获取线上测试工具信息,并根据线上测试工具信息下载安装线上测试工具,通过线上测试工具信息确定第二编译流程,通过第二编译流程获取第二测试工,其中,第一测试工具为当前网络状态为离线状态时的测试工具,第二测试工具为当前网络状态为非离线状态时的测试工具。从而实现在国产化环境下对非离线环境以及离线环境的云容器性能进行编译测试,提高了容器云性能测试的使用效率。
本申请实施例的一种可能的实现方式,步骤S10具体包括步骤S101(图中未示出)以及步骤S102(图中未示出),其中,
步骤S101,获取性能测试操作系统依赖、离线包资源、测试工具源码包以及测试工具依赖,离线包资源包括GO编译工具离线包以及容器镜像离线包,测试工具源码包括e2e源码以及kubetest源码。
具体地,性能测试操作系统依赖包括iperf3_3.0.11-1kord_arm64.deb
以及libiperf0_3.0.11-1kord_arm64.deb,Go编译工具离线包包括go1.15.4.linux-arm64.tar.gz,容器镜像离线包包括test_offine_images.tar。
步骤S102,基于性能测试操作系统依赖、离线包资源、测试工具源码包以及测试工具依赖,获取容器云性能测试文件。
本申请实施例的一种可能的实现方式,步骤S11具体包括步骤S111(图中未示出)、步骤S112(图中未示出)、步骤S113(图中未示出)、步骤S114(图中未示出)以及步骤S115(图中未示出),其中,
步骤S111,获取root用户环境变量信息以及安装包路径信息,并将安装包路径信息添加到root用户环境变量信息。
步骤S112,获取预设执行指令,并基于预设执行指令对root用户环境变量进行配置更新。
步骤S113,对GO编译工具离线包进行解压部署,获取GO编译环境参数,并对GO编译环境参数进行配置更新。
具体地,解压文件指令为“tar xzvf go1.15.4.linux-arm64.tar.gz -C /root”,执行“go version”查看go语言安装包版本号。
步骤S114,创建GOPATH路径文件,GOPATH路径文件用于存储编译后的源代码文件。
具体地,创建GOPATH路径文件的一种可实施方式包括指令:“mkdir -p/root/gocode”。
步骤S115,基于GOPATH路径文件以及配置更新后的root用户环境变量、GO编译环境参数,生成编译环境信息。
本申请实施例的一种可能的实现方式,步骤S14具体包括步骤S141(图中未示出)、步骤S142(图中未示出)、步骤S143(图中未示出)以及步骤S144(图中未示出),其中,
步骤S141,对测试工具源码进行解压,获取测试工具信息。
具体地,测试工具源码包括srcV0318.tar以及pkgV0318.tar,解压测试工具源码,其中,测试工具源码srcV0318.tar的解压指令为:“tar xzvf srcV0318.tar -C $GOPATH”,测试工具源码pkgV0318.tar的解压指令为:“tar xzvf pkgV0318.tar -C $GOPATH”,测试工具信息包括解压后的测试工具源码。
步骤S142,获取docker镜像,并将测试工具信息导入至docker镜像的镜像列表。
步骤S143,基于性能测试操作系统依赖,生成网络宽带安装指令。
具体地,性能测试操作系统依赖包括:iperf3_3.0.11-1kord_arm64.deb及libiperf0_3.0.11-1kord_arm64.deb网络宽带安装指令包括:“apt install./libiperf0_3.0.11-1kord_arm64.deb”以及“apt install./iperf3_3.0.11-1kord_arm64.deb”。
步骤S144,执行网络宽带安装指令,将性能测试操作系统依赖安装至docker镜像的测试节点。
本申请实施例的一种可能的实现方式,步骤S15具体包括步骤S151(图中未示出)、步骤S152(图中未示出)、步骤S153(图中未示出)、步骤S154(图中未示出)以及步骤S155(图中未示出),其中,
步骤S151,对线上测试工具信息进行分析,确定线上测试工具信息的安装下载顺序信息。
步骤S152,基于安装下载顺序信息,确定第二编译流程。
其中,线上测试工具信息包括:test-infra基础设施测试工具、kubetest执行工具集、kubemark性能测试工具以及clusterloader2压力测试工具。
步骤S153,对test-infra基础设施测试工具进行下载编译,生成运行环境信息。
步骤S154,基于运行环境信息,对kubetest执行工具集、kubemark性能测试工具以及clusterloader2压力测试工具进行安装,生成集群节点信息。
步骤S155,获取docker镜像,并将集群节点信息导入至docker镜像的测试节点。
本申请实施例的一种可能的实现方式,步骤S16具体包括步骤S161(图中未示出)、步骤S162(图中未示出)以及步骤S163(图中未示出),其中,
步骤S161,基于容器云性能确定至少一项测试项信息。
步骤S162,根据第一测试工具或第二测试工具对至少一项测试项信息进行测试,生成至少一项测试日志信息。
步骤S163,将至少一项测试项信息与至少一项测试日志信息对应绑定,生成测试日志信息。
具体地,在离线状态时,使用第一测试工具对云容器性能进行测试,在非离线状态时,使用第二测试工具对云容器性能进行测试,在第一测试工具与第二测试工具测试完毕后,生成测试日志信息,便于工作人员进行查看。
本申请实施例的一种可能的实现方式,步骤S144之后还包括步骤Sa(图中未示出)、步骤Sb(图中未示出)以及步骤Sc(图中未示出),其中,
步骤Sa,获取用户根目录信息。
步骤Sb,基于用户根目录信息确定权限用户信息以及与权限用户信息相对应的密钥信息。
步骤Sc,创建公钥信息,并将公钥信息通过预设指令放入至测试节点。
具体地,对离线环境进行免密登录操作,当用户在登陆测试系统时只需成功登录一次后就能享受一键登录,帮助用户减少登录操作,在登陆时间上也大幅度减少,相对于短信登录以及账号密码登录更加便捷,提高了用户的登录效率。
上述实施例从方法流程的角度介绍一种容器云性能测试评估实现方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种容器云性能测试评估实现装置,具体详见下述实施例。
本申请实施例提供一种容器云性能测试评估实现装置,如图2所示,该装置20具体可以包括:文件获取模块21、信息生成模块22、信息获取模块23、环境判断模块24、第一测试模块25、第二测试模块26、日志生成模块27以及控制显示模块28,其中,
文件获取模块21,用于当前检测到数据获取指令后,获取容器云性能测试文件;
信息生成模块22,用于基于容器云性能测试文件对编译环境进行部署,生成编译环境信息;
信息获取模块23,用于获取测试环境信息,测试环境信息包括离线环境信息以及非离线环境信息;
环境判断模块24,用于判断测试环境信息是否符合预设环境测试信息;
第一测试模块25,用于若符合,则基于编译环境信息确定第一编译流程,并通过第一编译流程获取第一测试工具;
第二测试模块26,用于若不符合,则获取线上测试工具信息,并基于线上测试工具信息确定第二编译流程,通过第二编译流程获取第二测试工具;
日志生成模块27,用于基于第一测试工具或第二测试工具对容器云性能执行测试,生成测试日志信息;
控制显示模块28,用于控制显示测试日志信息
本申请实施例的一种可能的实现方式,文件获取模块21在获取容器云性能测试文件时,具体包括:
获取性能测试操作系统依赖、离线包资源、测试工具源码包以及测试工具依赖,离线包资源包括GO编译工具离线包以及容器镜像离线包,测试工具源码包括e2e源码以及kubetest源码;
基于性能测试操作系统依赖、离线包资源、测试工具源码包以及测试工具依赖,获取容器云性能测试文件。
本申请实施例的另一种可能的实现方式,信息生成模块22在基于容器云性能测试文件对编译环境进行部署,生成编译环境信息时,具体用于:
获取root用户环境变量信息以及安装包路径信息,并将安装包路径信息添加到root用户环境变量信息;
获取预设执行指令,并基于预设执行指令对root用户环境变量进行配置更新;
对GO编译工具离线包进行解压部署,获取GO编译环境参数,并对GO编译环境参数进行配置更新;
创建GOPATH路径文件,GOPATH路径文件用于存储编译后的源代码文件;
基于GOPATH路径文件以及配置更新后的root用户环境变量、GO编译环境参数,生成编译环境信息。
本申请实施例的另一种可能的实现方式,第一测试模块25在基于编译环境信息确定第一编译流程时,具体用于:
其中,第一编译流程包括:
对测试工具源码进行解压,获取测试工具信息;
获取docker镜像,并将测试工具信息导入至docker镜像的镜像列表;
基于性能测试操作系统依赖,生成网络宽带安装指令;
执行网络宽带安装指令,将性能测试操作系统依赖安装至docker镜像的测试节点。
本申请实施例的另一种可能的实现方式,第二测试模块26在获取线上测试工具信息,并基于线上测试工具信息确定第二编译流程时,具体用于:
对线上测试工具信息进行分析,确定线上测试工具信息的安装下载顺序信息;
基于安装下载顺序信息,确定第二编译流程;
其中,线上测试工具信息包括:test-infra基础设施测试工具、kubetest执行工具集、kubemark性能测试工具以及clusterloader2压力测试工具;
其中,第二编译流程包括:
对test-infra基础设施测试工具进行下载编译,生成运行环境信息;
基于运行环境信息,对kubetest执行工具集、kubemark性能测试工具以及clusterloader2压力测试工具进行安装,生成集群节点信息;
获取docker镜像,并将集群节点信息导入至docker镜像的测试节点。
本申请实施例的另一种可能的实现方式,日志生成模块27在基于第一测试工具或第二测试工具对容器云性能执行测试,生成测试日志信息时,具体用于:
基于容器云性能确定至少一项测试项信息;
根据第一测试工具或第二测试工具对至少一项测试项信息进行测试,生成至少一项测试日志信息;
将至少一项测试项信息与至少一项测试日志信息对应绑定,生成测试日志信息。
本申请实施例的另一种可能的实现方式,装置20还包括:目录获取模块、确定模块以及创建模块,其中,
目录获取模块,用于获取用户根目录信息;
确定模块,用于基于用户根目录信息确定权限用户信息以及与权限用户信息相对应的密钥信息;
创建模块,创建公钥信息,并将公钥信息通过预设指令放入至测试节点。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还从实体装置的角度介绍了一种电子设备,如图3所示,图3所示的电子设备300包括:处理器301和存储器303。其中,处理器301和存储器303相连,如通过总线302相连。可选地,电子设备300还可以包括收发器304。需要说明的是,实际应用中收发器304不限于一个,该电子设备300的结构并不构成对本申请实施例的限定。
处理器301可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线302可包括一通路,在上述组件之间传送信息。总线302可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器303可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图3示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种容器云性能测试评估实现方法,其特征在于,包括:
当前检测到数据获取指令后,获取性能测试操作系统依赖、离线包资源、测试工具源码包以及测试工具依赖,并基于所述性能测试操作系统依赖、所述离线包资源、所述测试工具源码包以及所述测试工具依赖,获取容器云性能测试文件,所述离线包资源包括GO编译工具离线包以及容器镜像离线包,所述测试工具源码包包括e2e源码以及kubetest源码;
基于所述容器云性能测试文件对编译环境进行部署,生成编译环境信息;
获取测试环境信息,所述测试环境信息包括离线环境信息以及非离线环境信息;
判断所述测试环境信息是否符合预设环境测试信息;
若符合,则基于所述编译环境信息确定第一编译流程,并通过所述第一编译流程获取第一测试工具;
其中,所述第一编译流程包括:
对所述测试工具源码进行解压,获取测试工具信息;
获取docker镜像,并将所述测试工具信息导入至所述docker镜像的镜像列表;
基于所述性能测试操作系统依赖,生成网络宽带安装指令;
执行所述网络宽带安装指令,将所述性能测试操作系统依赖安装至所述docker镜像的测试节点;
若不符合,则获取线上测试工具信息,并基于所述线上测试工具信息确定第二编译流程,通过所述第二编译流程获取第二测试工具;
基于所述第一测试工具或所述第二测试工具对容器云性能执行测试,生成测试日志信息;
控制显示所述测试日志信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述容器云性能测试文件对编译环境进行部署,生成编译环境信息,包括:
获取root用户环境变量信息以及安装包路径信息,并将所述安装包路径信息添加到所述root用户环境变量信息,所述安装包路径信息为所述GO编译工具离线包的安装路径;
获取预设执行指令,并基于所述预设执行指令对所述root用户环境变量进行配置更新;
对所述GO编译工具离线包进行解压部署,获取GO编译环境参数,并对所述GO编译环境参数进行配置更新;
创建GOPATH路径文件,所述GOPATH路径文件用于存储编译后的源代码文件;
基于所述GOPATH路径文件以及配置更新后的所述root用户环境变量、所述GO编译环境参数,生成编译环境信息。
3.根据权利要求1所述的方法,其特征在于,所述获取线上测试工具信息,并基于所述线上测试工具信息确定第二编译流程,包括:
对所述线上测试工具信息进行分析,确定所述线上测试工具信息的安装下载顺序信息;
基于所述安装下载顺序信息,确定第二编译流程;
其中,所述线上测试工具信息包括:test-infra基础设施测试工具、kubetest执行工具集、kubemark性能测试工具以及clusterloader2压力测试工具;
其中,所述第二编译流程包括:
对所述test-infra基础设施测试工具进行下载编译,生成运行环境信息;
基于所述运行环境信息,对kubetest执行工具集、kubemark性能测试工具以及clusterloader2压力测试工具进行安装,生成集群节点信息;
获取docker镜像,并将所述集群节点信息导入至所述docker镜像的测试节点。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第一测试工具或所述第二测试工具对容器云性能执行测试,生成测试日志信息,包括:
基于容器云性能确定至少一项测试项信息;
根据所述第一测试工具或所述第二测试工具对所述至少一项测试项信息进行测试,生成至少一项测试日志信息;
将所述至少一项测试项信息与所述至少一项测试日志信息对应绑定,生成测试日志信息。
5.根据权利要求1所述的方法,其特征在于,所述执行所述网络宽带安装指令,将所述性能测试操作系统依赖安装至所述docker镜像的测试节点,之后还包括:
获取用户根目录信息;
基于所述用户根目录信息确定权限用户信息以及与所述权限用户信息相对应的密钥信息;
创建公钥信息,并将所述公钥信息通过预设指令放入至所述测试节点。
6.一种容器云性能测试评估实现装置,其特征在于,包括:
文件获取模块,用于当前检测到数据获取指令后,获取性能测试操作系统依赖、离线包资源、测试工具源码包以及测试工具依赖,并基于所述性能测试操作系统依赖、所述离线包资源、所述测试工具源码包以及所述测试工具依赖,获取容器云性能测试文件,所述离线包资源包括GO编译工具离线包以及容器镜像离线包,所述测试工具源码包包括e2e源码以及kubetest源码;
信息生成模块,用于基于所述容器云性能测试文件对编译环境进行部署,生成编译环境信息;
信息获取模块,用于获取测试环境信息,所述测试环境信息包括离线环境信息以及非离线环境信息;
环境判断模块,用于判断所述测试环境信息是否符合预设环境测试信息;
第一测试模块,用于若符合,则基于所述编译环境信息确定第一编译流程,并通过所述第一编译流程获取第一测试工具;
其中,所述第一编译流程包括:
对所述测试工具源码进行解压,获取测试工具信息;
获取docker镜像,并将所述测试工具信息导入至所述docker镜像的镜像列表;
基于所述性能测试操作系统依赖,生成网络宽带安装指令;
执行所述网络宽带安装指令,将所述性能测试操作系统依赖安装至所述docker镜像的测试节点;
第二测试模块,用于若不符合,则获取线上测试工具信息,并基于所述线上测试工具信息确定第二编译流程,通过所述第二编译流程获取第二测试工具;
日志生成模块,用于基于所述第一测试工具或所述第二测试工具对容器云性能执行测试,生成测试日志信息;
控制显示模块,用于控制显示所述测试日志信息。
7.一种电子设备,其特征在于,该电子设备包括:
至少一个处理器;
存储器;
至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行权利要求1~5任一项所述的容器云性能测试评估实现方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机中执行时,令所述计算机执行权利要求1~5任一项所述的容器云性能测试评估实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210164432.0A CN115098105B (zh) | 2022-02-22 | 2022-02-22 | 容器云性能测试评估实现方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210164432.0A CN115098105B (zh) | 2022-02-22 | 2022-02-22 | 容器云性能测试评估实现方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115098105A CN115098105A (zh) | 2022-09-23 |
CN115098105B true CN115098105B (zh) | 2023-02-28 |
Family
ID=83287816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210164432.0A Active CN115098105B (zh) | 2022-02-22 | 2022-02-22 | 容器云性能测试评估实现方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098105B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904619A (zh) * | 2022-11-16 | 2023-04-04 | 安超云软件有限公司 | 大规模模拟集群的测试方法和装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399496A (zh) * | 2013-08-20 | 2013-11-20 | 中国能源建设集团广东省电力设计研究院 | 智能电网海量实时数据负载仿真测试云平台及其测试方法 |
CN108595306A (zh) * | 2018-04-18 | 2018-09-28 | 大连理工大学 | 一种面向混部云的服务性能测试方法 |
CN110968495A (zh) * | 2018-09-29 | 2020-04-07 | 浙江大学 | 一种容器云平台性能评估方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795744A (zh) * | 2012-10-30 | 2014-05-14 | 上海今日在线科技发展有限公司 | 一种在线测试云服务平台 |
KR101461217B1 (ko) * | 2013-03-22 | 2014-11-18 | 네이버비즈니스플랫폼 주식회사 | 클라우드 환경에서의 성능 테스트 비용 절감을 위한 테스트 시스템 및 테스트 방법 |
US10671508B2 (en) * | 2014-09-25 | 2020-06-02 | Hewlett Packard Enterprise Development Lp | Testing a cloud service |
CN112835676A (zh) * | 2021-01-27 | 2021-05-25 | 北京远盟普惠健康科技有限公司 | 一种容器化应用的部署方法及装置、计算机设备、介质 |
-
2022
- 2022-02-22 CN CN202210164432.0A patent/CN115098105B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399496A (zh) * | 2013-08-20 | 2013-11-20 | 中国能源建设集团广东省电力设计研究院 | 智能电网海量实时数据负载仿真测试云平台及其测试方法 |
CN108595306A (zh) * | 2018-04-18 | 2018-09-28 | 大连理工大学 | 一种面向混部云的服务性能测试方法 |
CN110968495A (zh) * | 2018-09-29 | 2020-04-07 | 浙江大学 | 一种容器云平台性能评估方法及装置 |
Non-Patent Citations (1)
Title |
---|
"基于Kubemark的微服务性能仿真测试研究";雷擎;《计算机工程与科学》;20200731;第42卷(第7期);第1151-1157页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115098105A (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110083382B (zh) | 跨平台内容管理和分发系统 | |
US11159392B2 (en) | Managing service deployment | |
CN107168749B (zh) | 一种编译方法、装置、设备和计算机可读存储介质 | |
CN107896244B (zh) | 一种版本文件的分发方法、客户端及服务器 | |
US20100146340A1 (en) | Analyzing Coverage of Code Changes | |
US20220334832A1 (en) | Software pipeline configuration | |
CN108459964B (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
KR101520056B1 (ko) | 클라우드 기반 모바일/온라인 게임 서버 부하 테스트 자동화 서비스 방법 | |
CN108614767A (zh) | 一种远程调试方法及装置 | |
CN110895471A (zh) | 安装包生成方法、装置、介质及电子设备 | |
KR101751515B1 (ko) | 테스트 실행 장치, 방법 및 컴퓨터 프로그램 | |
CN110928770B (zh) | 软件测试的方法、装置、系统、存储介质和电子设备 | |
CN115098105B (zh) | 容器云性能测试评估实现方法、装置、设备及介质 | |
US20200274758A1 (en) | Provisioning hybrid cloud resources in an operating environment | |
Koziolek et al. | Lightweight kubernetes distributions: A performance comparison of microk8s, k3s, k0s, and microshift | |
CN112115056B (zh) | 一种项目部署方法和装置、服务器、存储介质 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
EP3748493B1 (en) | Method and device for downloading installation-free application | |
CN111679842A (zh) | 应用程序热更新处理方法、装置及系统 | |
CN115185644A (zh) | 基于容器交互式应用的检测方法、系统、设备及存储介质 | |
CN111078527B (zh) | 用于对服务器进行压力测试的辅助系统以及方法 | |
CN112543104A (zh) | 应用程序打包方法、装置、电子设备及存储介质 | |
CN110362320B (zh) | 一种应用开发平台的命令实现方法和装置 | |
US20230143717A1 (en) | Method for providing interactive computing service for artificial intelligence practice | |
CN115705289A (zh) | 测试方法、Mock框架、用户设备、服务设备和存储介质 |
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 |