CN113392029B - 针对容器云平台不同层次的综合性能测试装置及方法 - Google Patents
针对容器云平台不同层次的综合性能测试装置及方法 Download PDFInfo
- Publication number
- CN113392029B CN113392029B CN202110850665.1A CN202110850665A CN113392029B CN 113392029 B CN113392029 B CN 113392029B CN 202110850665 A CN202110850665 A CN 202110850665A CN 113392029 B CN113392029 B CN 113392029B
- Authority
- CN
- China
- Prior art keywords
- test
- container
- cloud platform
- module
- index
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 267
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000011156 evaluation Methods 0.000 claims abstract description 41
- 238000012800 visualization Methods 0.000 claims abstract description 25
- 238000011056 performance test Methods 0.000 claims abstract description 18
- 238000004140 cleaning Methods 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 4
- 238000013500 data storage Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 10
- 230000002085 persistent effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000013515 script Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 claims description 2
- 238000013139 quantization Methods 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000013210 evaluation model Methods 0.000 description 6
- 238000011002 quantification Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3698—Environments for analysis, debugging or testing of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种针对容器云平台不同层次的综合性能测试装置及方法。本发明的可视化模块进行测试任务的参数配置与启动;环境配置模块构建测试环境;数据采集模块在负载发送前及发送中采集容器测试集群三个层次的二级指标数据;环境清理模块进行环境清理;性能评估模块计算容器云平台综合性能并生成测试报告;可视化模块展示报告。本发明装置中的可视化模块使本发明更具易用性,环境清理模块使本发明测试更加轻量化。本发明的方法中采用三层次的指标处理使得对容器云平台的综合性能测试结果更加客观。
Description
技术领域
本发明属于计算机技术领域,更进一步涉及云计算服务技术领域中的一种针对容器云平台不同层次的综合性能测试装置及方法。本发明可用于测试容器云服务平台的性能。
背景技术
随着容器技术的成熟和容器云平台技术的不断发展和广泛应用,市面上已经出现了众多的容器云平台;容器云平台各个核心模块的不断完善成熟和新型功能模块的添加使得容器云平台的性能也在不断地发生着改变;在针对容器云平台的传统选型过程中,容器云平台服务购买者往往需要耗费大量时间和人力资源,根据自身实际需求和业务特征构建测试原型,以此来横向对比各个容器云平台服务提供商的容器云平台的综合性能,从而选择出最合适的容器云平台,但是这个选型过程效率过低、周期过长、投入过大。
浙江大学在其申请的专利文献“一种容器云平台性能评估方法及装置”(专利申请号201811146853.0申请公开号:CN 110968495A)中公开了一种对容器云平台性能评估的自动化测试方法和装置。该专利文献公开的装置包括容器云平台管理模块、测试引擎模块、监控模块、性能评估模块、监控数据存储模块。云平台管理模块用于云平台的创建、管理和销毁;测试引擎模块用于在云平台上执行具体的应用测试用例;监控模块用于对容器云平台进行具体指标项的数据采集;监控数据存储模块用于持久化保存采集到的指标数据;性能评估模块用于将指标数据输入性能评估模型,得到容器云平台的性能测试结果,并产生性能评估报告。该装置存在的不足之处是,缺乏可视化的模块设计,专业测试人员需要借助命令行对测试任务进行手动配置和启动,没有实现装置完全的自动化设计,减低了此装置使用的友好性,增高了使用门槛;缺乏环境清理模块的设计,被测容器云平台的用例测试之间会相互影响而致使得到的测试指标数据失真且多次重复的测试会导致被测容器云平台的资源过度消耗占用的问题。该专利文献公开的方法对容器云平台性能的测试步骤是:启动用于测试容器云平台性能装置的应用程序,运行真实负载应用程序的基准测试用例;采集运行基准测试用例时的平台基础数据和应用性能数据,将平台基础数据和应用性能数据进行汇聚,生成该容器云平台的性能指标集;以此性能指标集作为输入,利用基于基准数据的性能评估模型,获得此容器云平台的性能评估结果。该方法存在的不足之处在于,测试指标维度较为单一,对于容器云平台的性能测试只是测试了底层的基准性能指标,没有考虑到容器云平台由于虚拟化技术而产生的多层次的特点,缺乏针对容器云平台本身关于平台特性的测试以及运行真实软件应用负载关于容器云平台服务提供能力的测试,所以应用该方法测试得到的测试结果无法客观反映容器云平台的真实性能。
上海交通大学在其申请的专利文献“基于性能模型的云平台性能测评方法”(专利申请号201510497717.6申请公开号:CN 105187269 A)中公开了一种基于性能模型的云平台性能测评方法。该方法对云平台性能的测试步骤是:对各类云系统的接口进行抽象和总结,并对云资源操作逻辑进行封装,使得在测试时可以自动化分配和管理被测云平台的云资源;基于全新建模方式得到的性能评测模块对实验数据进行分析解读,对被测云平台的各个方面的性能进行扩展性分析,归纳被测云平台规模变化时的性能模型,得到相应应用场景下被测云平台性能的变化趋势、峰值。该方法存在的不足之处是,该方法只是针对被测云平台的计算能力、网络能力、存储能力、性能这四个方面来对被测云平台的性能展开分析,致使指标层次单一,忽略了云平台由于虚拟化技术而产生的多层次的特点,缺乏针对在真实软件负载下关于云平台服务提供能力测试的考虑,且方法中的分析评估模型只是基于实验数据建立,缺乏真实生产级别的负载致使方法中的分析评估模型不具有普适性。
发明内容
本发明的目的是针对上述容器云平台测试技术存在的不足,提供了一种针对容器云平台不同层次的综合性能测试装置及方法,本发明的装置用于解决没有实现自动化设计,减低了装置使用的友好性,增加测试人员使用门槛的问题,以及用于解决现有装置得到的测试指标数据失真且多次重复的测试会导致被测容器云平台资源被过度消耗占用的问题。本发明的方法用于解决现有技术主要集中于对容器云平台的基础性能指标数据的评价,缺乏指标的综合评估模型和针对容器云平台多层次特点的容器云平台综合性能测试方法,难以在云平台服务提供商与容器云平台服务购买者实际生产使用过程中对容器云平台综合性能测试提供较为客观的技术支持的问题。
实现本发明目的的思路是,从容器云平台服务提供商和容器云平台服务购买者在实际生产环境中对容器云平台综合性能的关注角度出发,结合容器云平台的特性以及现有容器云平台综合性能测试装置和方法的优点,本发明提出了针对容器云平台不同层次的容器云平台的综合性能测试装置,其中的可视化模块可以使专业测试人员直接在前端界面对测试任务进行配置和启动,实现了装置测试的完全的自动化设计,提升了装置的易用性。本发明装置中的环境清理模块在每个测试用例执行结束后对测试环境进行了清理,避免了测试用例之间相互影响以及过度消耗占用容器云平台资源的问题。本发明提出了针对容器云平台不同层次的综合性能测试方法,构建了容器云平台综合性能测试指标的综合评估模型,将容器云平台综合性能划分为底层层次、平台层次以及应用层次三个层次进行测试,形成了针对容器云平台多层次特点的容器云平台综合性能测试方法,使得容器云平台服务提供商和云平台服务购买者可以根据各自需求得到容器云平台不同层次和整体的性能评价。
为了实现上述发明目的,本发明的测试装置包括环境配置模块、负载发送模块、数据采集模块、数据存储模块、性能评估模块、环境清理模块和可视化模块,其中:
所述环境配置模块,用于调用容器云平台的认证服务接口获取容器云平台管理权限,再通过该权限与容器云平台进行交互;环境配置模块读取配置文件中测试用例指定的DockerFile信息构建测试用例所有需要的容器镜像;环境配置模块读取配置文件中测试集群容器镜像、测试集群容器数量、测试集群容器资源限额信息,调用容器云平台提供的接口,创建所读取的指定测试集群容器数量的容器作为测试集群,并返回该容器测试集群所有容器的IP以及端口信息;
所述负载发送模块,用于通过环境配置模块返回的容器测试集群信息与负载发生容器节点建立连接,负载发送模块根据配置文件测试用例的负载配置参数构建负载执行命令并发送执行,使得负载发送容器向负载接收容器发送测试用例的测试负载;
所述数据采集模块,用于通过对容器测试集群进行用例测试,以固定频率轮询的方式通过监控软件和自定义脚本监控容器测试集群,将采集的容器测试集群中测试用例的二级指标数据作为用例测试的基准二级指标数据或二级指标数据;
所述数据存储模块,用于将容器测试集群测得的底层、平台、应用三个层次的基准二级指标数据或二级指标数据以及从配置文件中读取的用例指标所属层次存入数据库中持久化存储;
所述性能评估模块,用于通过调用数据存储模块从数据库中读出各测试用例的基准二级指标数据、二级指标数据以及指标所属层次,对每个数据进行预处理,性能评估模块利用Yjc=∑j∈{1,2,3},k∈{T}xjk*wjk公式,计算每个层次一级指标的性能量化值,按照Score=∑j∈{1,2,3}(∑c∈{Pj}Yjc*wjc)*Wj公式,计算容器云平台的综合性能值;
所述环境清理模块,用于删除在构建测试环境阶段在容器云平台中创建的用于容器云平台性能测试的容器测试集群;
所述可视化模块,用于根据测试人员在前端界面上对容器云平台性能测试的所有测试项的参数配置生成测试配置文件,测试人员通过可视化模块的前端界面启动测试任务,可视化模块根据性能评估模块生成的测试报告在前端界面上对测试报告进行可视化展示。
本发明方法的具体测试步骤包括如下:
步骤1,测试任务的配置与启动:
可视化模块根据测试人员在前端界面上对容器云平台性能测试的所有测试项的参数配置以及负载选择生成测试配置文件,测试人员通过可视化模块的前端界面启动测试任务;
步骤2,构建测试环境:
(2a)环境配置模块调用容器云平台的认证服务接口获取容器云平台管理权限,再通过该权限与容器云平台进行交互;
(2b)判断容器云平台是否已经存在测试用例需要的容器镜像,若是,则执行步骤(2d),否则,执行步骤(2c);
(2c)环境配置模块读取配置文件中测试用例指定的DockerFile信息构建测试用例所有需要的容器镜像;
(2d)环境配置模块读取配置文件中测试集群容器镜像、测试集群容器数量、测试集群容器资源限额信息,调用容器云平台提供的接口,创建所读取的指定测试集群容器数量的容器作为测试集群,并返回该容器测试集群所有容器的IP以及端口信息;
步骤3,采集容器云平台的底层、平台、应用三个层次的基准二级指标数据:
在还未发送负载执行命令时,数据采集模块对容器测试集群进行用例测试,以固定频率轮询的方式通过监控软件和自定义脚本监控容器测试集群,将采集的容器测试集群中测试用例的二级指标作为用例测试的基准二级指标数据,数据存储模块将容器测试集群测得的底层、平台、应用三个层次的基准二级指标数据以及从配置文件中读取的用例指标所属层次存入数据库中持久化存储;
步骤4,向负载发生容器发送负载命令请求:
环境配置模块根据步骤(2d)返回的信息与负载发生容器节点建立连接,负载发送模块根据配置文件测试用例的负载配置参数构建负载执行命令并发送执行,使得负载发送容器向负载接收容器发送测试用例的测试负载;
步骤5,采集二级指标数据:
在负载执行命令发送后,数据采集模块对容器测试集群进行用例测试,将步骤3采集的容器测试集群中测试用例的二级指标作为用例测试的二级指标数据,数据存储模块将容器测试集群测得的底层、平台、应用三个层次的二级指标数据以及从配置文件中读取的用例指标所属层次存入数据库中持久化存储;
步骤6,环境清理:
环境清理模块删除步骤(2d)在容器云平台中创建的用于容器云平台性能测试的容器测试集群;
步骤7,环境配置模块判断当前已经读取的测试用例是否属于配置文件中的最后一个测试用例,若是,则执行步骤8,否则,环境配置模块读取下一项测试用例的配置参数后执行步骤2;
步骤8,利用二级性能指标权值生成针对每个层次的一级指标:
(8a)性能评估模块调用数据存储模块从数据库中读出各测试用例的基准二级指标数据、二级指标数据以及指标所属层次,对每个数据进行预处理;
(8b)按照下式,性能评估模块计算每个层次一级指标的性能量化值:
Yjc=∑j∈{1,2,3},k∈{T}xjk*wjk
其中,Yjc表示第j个层次的第c个一级指标数值,Yjc的值越趋于100,一级指标Yjc的评价越好,c表示第j个层次下的一级指标的序号,j的取值为1、2、3,分别对应容器云平台的底层、平台层、应用层,c值取1,T表示第j个层次第c个一级指标下的二级指标集合,k表示二级指标集合T中二级指标的序号,j的取值为1、2、3时,对应的k的最大值分别为10、9、5,Σ表示求和操作,xjk表示第j个层次下的第k个二级指标归一化后的数值,*表示相乘操作,wjk表示xjk的权重,wjk由熵值法确定;
步骤9,按照下述式子计算容器云平台的综合性能值:
Score=∑j∈{1,2,3}(∑c∈{Pj}Yjc*wjc)*Wj
其中,Score表示对容器云平台的综合性能值,Score值越趋于100,表示被测容器云平台的综合性能越高,Pj表示第j个层次下的一级指标的集合,wjc表示第j个层次下第c个一级指标数值Yjc的权值,wjc取值1,Wj表示第j层性能指标值的权重,Wj由配置文件参数确定;
步骤10,测试报告展示
可视化模块根据性能评估模块生成的测试报告在前端界面上对测试报告进行可视化展示。
本发明与现有的技术相比具有以下优点:
第一,由于本发明的装置中的可视化模块可以使测试人员直接的前端界面上直接对测试任务进行配置和启动,克服了现有技术中专业测试人员需要借助命令行对测试任务进行手动配置和启动,没有实现装置完全的自动化设计,减低了此装置使用的友好性,增高了测试人员使用门槛的问题,使得本发明的装置具有更加易用性的优点。
第二,由于本发明的装置中的环境清理模块会在测试用例执行结束后对测试环境进行清理,删除在构建测试环境阶段阶段在容器云平台中用于用例测试创建的容器集群,克服了现有技术中测试用例之间相互影响以及过度消耗占用容器云平台资源的问题,使得本发明的装置使测试具有了更加轻量化的优点。
第三,由于本发明的方法采集了底层、平台层、应用层三个层次下的容器云平台综合性能的二级指标,对所有二级指标进行了数据归一化处理并通过由各层次下二级指标聚合的一级指标计算每个层次的性能量化值,综合每个层次的性能量化值计算容器云平台的综合性能,克服了现有技术测试容器云平台综合性能的测试指标层次单一、难以量化的问题,使得本发明的方法具有对容器云平台综合性能进行客观定量综合评价的优点。
附图说明
图1是本发明装置的方框图;
图2是本发明方法的流程图。
具体实施方式
下面结合附图对本发明做进一步的详细描述。
参照图1,对本发明的装置做进一步的详细描述。
本发明的装置包括环境配置模块、负载发送模块、数据采集模块、数据存储模块、性能评估模块、环境清理模块和可视化模块。其中:
所述环境配置模块用于调用容器云平台的认证服务接口获取容器云平台管理权限,再通过该权限与容器云平台进行交互;环境配置模块读取配置文件中测试用例指定的DockerFile信息构建测试用例所有需要的容器镜像;环境配置模块读取配置文件中测试集群容器镜像、测试集群容器数量、测试集群容器资源限额信息,调用容器云平台提供的接口,创建所读取的指定测试集群容器数量的容器作为测试集群,并返回该容器测试集群所有容器的IP以及端口信息。
所述负载发送模块用于通过环境配置模块返回的容器测试集群信息与负载发生容器节点建立连接,负载发送模块根据配置文件测试用例的负载配置参数构建负载执行命令并发送执行,使得负载发送容器向负载接收容器发送测试用例的测试负载;
所述数据采集模块,用于通过对容器测试集群进行用例测试,以固定频率轮询的方式通过监控软件和自定义脚本监控容器测试集群,将采集的容器测试集群中测试用例的二级指标数据作为用例测试的基准二级指标数据或二级指标数据;
所述数据存储模块用于将容器测试集群测得的底层、平台、应用三个层次的基准二级指标数据或二级指标数据以及从配置文件中读取的用例指标所属层次存入数据库中持久化存储。
所述性能评估模块用于通过调用数据存储模块从数据库中读出各测试用例的基准二级指标数据、二级指标数据以及指标所属层次,对每个数据进行预处理,性能评估模块利用Yjc=∑j∈{1,2,3},k∈{T}xjk*wjk公式,计算每个层次一级指标的性能量化值,按照Score=∑j∈{1,2,3}(∑c∈{Pj}Yjc*wjc)*Wj公式,计算容器云平台的综合性能值。
所述环境清理模块用于删除在构建测试环境阶段在容器云平台中创建的用于容器云平台性能测试的容器测试集群。
所述可视化模块用于根据测试人员在前端界面上对容器云平台性能测试的所有测试项的参数配置生成测试配置文件,测试人员通过可视化模块的前端界面启动测试任务,可视化模块根据性能评估模块生成的测试报告在前端界面上对测试报告进行可视化展示。
参照图2,对本发明的方法做进一步的详细描述。
步骤1,测试任务的参数配置与启动。
可视化模块根据测试人员在前端界面上对容器云平台性能测试的所有测试项的参数配置生成测试配置文件,测试人员通过可视化模块的前端界面启动测试任务;
步骤2,构建测试环境。
第一步,环境配置模块调用容器云平台的认证服务接口获取容器云平台管理权限,再通过该权限与容器云平台进行交互。
第二步,判断容器云平台是否已经存在测试用例需要的容器镜像,若是,则执行本步骤的第四步,否则,执行本步骤的第三步。
第三步,环境配置模块读取配置文件中测试用例指定的DockerFile信息构建测试用例所有需要的容器镜像。
第四步,环境配置模块读取配置文件中测试集群容器镜像、测试集群容器数量、测试集群容器资源限额信息,调用容器云平台提供的接口,创建所读取的指定测试集群容器数量的容器作为测试集群,并返回该容器测试集群所有容器的IP以及端口信息。
所述测试集群容器资源限额信息包括内存、CPU、Block IO。
步骤3,采集基准二级指标数据。
在还未发送负载执行命令时,数据采集模块对容器测试集群进行用例测试,以固定频率轮询的方式通过监控软件和自定义脚本监控容器测试集群,将采集的容器测试集群中测试用例的二级指标数据作为用例测试的基准二级指标数据,数据存储模块将容器测试集群测得的底层、平台、应用三个层次的基准二级指标数据以及从配置文件中读取的用例指标所属层次存入数据库中持久化存储。
所述底层、平台、应用三个层次的基准二级指标数据如下:底层层次的二级指标包括CPU工作频率、CPU超标量、内存带宽、内存tCK时钟周期、磁盘利用率、磁盘读写延迟、磁盘吞吐量、网络吞吐量、网络时延、网络丢包率;平台层次的二级指标包括针对服务发现能力的服务注册耗时、服务注册成功率,针对负载均衡能力的服务响应时间、服务请求错误率,针对弹性伸缩能力的水平扩缩容平均耗时、服务运行性能,针对API接口能力的API接口平均响应时间,正对平台通信能力的网络时延、网络吞吐量;应用层次的二级指标包括针对服务基础性能的服务启动时间、服务的平均响应时间、服务的请求错误率、服务吞吐量,针对服务稳定性的服务响应时间。
步骤4,向负载发生容器发送负载命令请求。
环境配置模块根据步骤2的第二步返回的信息与负载发生容器节点建立连接,负载发送模块根据配置文件测试用例的负载配置参数构建负载执行命令并发送执行,使得负载发送容器向负载接收容器发送测试用例的测试负载。
步骤5,采集二级指标数据。
在负载执行命令发送后,数据采集模块对容器测试集群进行用例测试,将步骤3采集的容器测试集群中测试用例的二级指标作为用例测试的二级指标数据,数据存储模块将容器测试集群测得的底层、平台、应用三个层次的二级指标数据以及从配置文件中读取的用例指标所属层次存入数据库中持久化存储;
步骤6,环境清理。
环境清理模块删除步骤2的第四步在容器云平台中创建的用于容器云平台性能测试的容器测试集群。
步骤7,环境配置模块判断当前已经读取的测试用例是否属于配置文件中的最后一个测试用例,若是,则执行步骤8,否则,环境配置模块读取下一项测试用例的配置参数后执行步骤2。
步骤8,利用二级性能指标权值生成针对每个层次的一级指标。
第一步,性能评估模块调用数据存储模块从数据库中读出各测试用例的基准二级指标数据、二级指标数据以及指标所属层次,对每个数据进行预处理。
所述预处理指的是:
如果待处理的指标数据属于评价为越小越好的成本型指标,则按照下式进行预处理:
如果待处理的指标数据属于评价为越大越好的收益型指标,则按照下式进行预处理:
其中,xjk表示处理成本型指标时第j个层次下第k个二级指标归一化后的数值,xjk的值越趋于100,二级指标xjk的评价越好,min表示求最小值操作,xstd表示在还未发送负载执行命令时执行测试用例所采集的第j个层次下第k个二级指标的基准二级指标值,将基准二级指标值作为理想状态下的性能最优值,xload表示在负载接收容器在接收负载时执行测试用例所采集的第j个层次下第k个二级指标的二级指标值,x'jk表示处理收益型指标时第j个层次下第k个二级指标归一化后的数值,max表示求最大值操作。
第二步,按照下式,性能评估模块计算每个层次一级指标的性能量化值:
Yjc=∑j∈{1,2,3},k∈{T}xjk*wjk
其中,Yjc表示第j个层次的第c个一级指标数值,Yjc的值越趋于100,一级指标Yjc的评价越好,c表示第j个层次下的一级指标的序号,j的取值为1、2、3,分别对应容器云平台的底层、平台层、应用层,c值取1,T表示第j个层次第c个一级指标下的二级指标集合,k表示二级指标集合T中二级指标的序号,j的取值为1、2、3时,对应的k的最大值分别为10、9、5,Σ表示求和操作,xjk表示第j个层次下的第k个二级指标归一化后的数值,*表示相乘操作,wjk表示xjk的权重,wjk由熵值法确定。
所述熵值法是一种依据各指标值所包含的信息量的多少确定指标权重的客观赋权法,指标的熵越小,说明该指标值的变异程度越大,提供的信息量也就越多,在综合评价中起的作用越大,则该指标的权重也应越大。
所述每个层次一级指标如下:底层层次的一级指标为底层容器性能损失程度,平台层次的一级指标为中层平台支撑能力,应用层的一级指标为顶层服务能力。
步骤9,按照下式,计算容器云平台的综合性能值:
Score=∑j∈{1,2,3}(∑c∈{Pj}Yjc*wjc)*Wj
其中,Score表示对容器云平台的综合性能值,Score值越趋于100,表示被测容器云平台的综合性能越高,Pj表示第j个层次下的一级指标的集合,wjc表示第j个层次下第c个一级指标数值Yjc的权值,wjc取值1,Wj表示第j层性能指标值的权重,Wj由配置文件参数确定。
步骤10,测试报告展示。
可视化模块根据性能评估模块生成的测试报告在前端界面上对测试报告进行可视化展示。
Claims (7)
1.一种针对容器云平台不同层次的综合性能测试装置,包括环境配置模块、负载发送模块、数据采集模块、数据存储模块、性能评估模块,其特征在于,还包括环境清理模块和可视化模块,其中:
所述环境配置模块,用于调用容器云平台的认证服务接口获取容器云平台管理权限,再通过该权限与容器云平台进行交互;环境配置模块读取配置文件中测试用例指定的DockerFile信息构建测试用例所有需要的容器镜像;环境配置模块读取配置文件中测试集群容器镜像、测试集群容器数量、测试集群容器资源限额信息,调用容器云平台提供的接口,创建所读取的指定测试集群容器数量的容器作为测试集群,并返回该容器测试集群所有容器的IP以及端口信息;
所述负载发送模块,用于通过环境配置模块返回的容器测试集群信息与负载发生容器节点建立连接,负载发送模块根据配置文件测试用例的负载配置参数构建负载执行命令并发送执行,使得负载发送容器向负载接收容器发送测试用例的测试负载;
所述数据采集模块,用于通过对容器测试集群进行用例测试,以固定频率轮询的方式通过监控软件和自定义脚本监控容器测试集群,将采集的容器测试集群中测试用例的二级指标数据作为用例测试的基准二级指标数据或二级指标数据;
所述数据存储模块,用于将容器测试集群测得的底层、平台、应用三个层次的基准二级指标数据或二级指标数据以及从配置文件中读取的用例指标所属层次存入数据库中持久化存储;
所述性能评估模块,用于通过调用数据存储模块从数据库中读出各测试用例的基准二级指标数据、二级指标数据以及指标所属层次,对每个数据进行预处理,性能评估模块利用Yjc=∑j∈{1,2,3},k∈{T}xjk*wjk公式,计算每个层次一级指标的性能量化值,按照Score=∑j∈{1,2,3}(∑c∈{Pj}Yjc*wjc)*Wj公式,计算容器云平台的综合性能值;
所述环境清理模块,用于删除在构建测试环境阶段在容器云平台中创建的用于容器云平台性能测试的容器测试集群;
所述可视化模块,用于根据测试人员在前端界面上对容器云平台性能测试的所有测试项的参数配置生成测试配置文件,测试人员通过可视化模块的前端界面启动测试任务,可视化模块根据性能评估模块生成的测试报告在前端界面上对测试报告进行可视化展示。
2.根据权利要求1所述装置的一种针对容器云平台不同层次的综合性能测试方法,其特征在于,采集对容器云平台的底层、平台层、应用层三个层次的二级指标,通过由各层次下二级指标聚合的一级指标计算每个层次的性能量化值,综合每个层次的性能量化值计算容器云平台的综合性能;该评估方法的具体测试步骤包括如下:
步骤1,测试任务的参数配置与启动:
可视化模块根据测试人员在前端界面上对容器云平台性能测试的所有测试项的参数配置生成测试配置文件,测试人员通过可视化模块的前端界面启动测试任务;
步骤2,构建测试环境:
(2a)环境配置模块调用容器云平台的认证服务接口获取容器云平台管理权限,再通过该权限与容器云平台进行交互;
(2b)判断容器云平台是否已经存在测试用例需要的容器镜像,若是,则执行步骤(2d),否则,执行步骤(2c);
(2c)环境配置模块读取配置文件中测试用例指定的DockerFile信息构建测试用例所有需要的容器镜像;
(2d)环境配置模块读取配置文件中测试集群容器镜像、测试集群容器数量、测试集群容器资源限额信息,调用容器云平台提供的接口,创建所读取的指定测试集群容器数量的容器作为测试集群,并返回该容器测试集群所有容器的IP以及端口信息;
步骤3,采集基准二级指标数据:
在还未发送负载执行命令时,数据采集模块对容器测试集群进行用例测试,以固定频率轮询的方式通过监控软件和自定义脚本监控容器测试集群,将采集的容器测试集群中测试用例的二级指标作为用例测试的基准二级指标数据,数据存储模块将容器测试集群测得的底层、平台、应用三个层次的基准二级指标数据以及从配置文件中读取的用例指标所属层次存入数据库中持久化存储;
步骤4,向负载发生容器发送负载命令请求:
环境配置模块根据步骤(2d)返回的信息与负载发生容器节点建立连接,负载发送模块根据配置文件测试用例的负载配置参数构建负载执行命令并发送执行,使得负载发送容器向负载接收容器发送测试用例的测试负载;
步骤5,采集二级指标数据:
在负载执行命令发送后,数据采集模块对容器测试集群进行用例测试,将步骤3采集的容器测试集群中测试用例的二级指标作为用例测试的二级指标数据,数据存储模块将容器测试集群测得的底层、平台、应用三个层次的二级指标数据以及从配置文件中读取的用例指标所属层次存入数据库中持久化存储;
步骤6,环境清理:
环境清理模块删除步骤(2d)在容器云平台中创建的用于容器云平台性能测试的容器测试集群;
步骤7,环境配置模块判断当前已经读取的测试用例是否属于配置文件中的最后一个测试用例,若是,则执行步骤8,否则,环境配置模块读取下一项测试用例的配置参数后执行步骤2;
步骤8,利用二级性能指标权值生成针对每个层次的一级指标:
(8a)性能评估模块调用数据存储模块从数据库中读出各测试用例的基准二级指标数据、二级指标数据以及指标所属层次,对每个数据进行预处理;
(8b)按照下式,性能评估模块计算每个层次一级指标的性能量化值:
Yjc=∑j∈{1,2,3},k∈{T}xjk*wjk
其中,Yjc表示第j个层次的第c个一级指标数值,Yjc的值越趋于100,一级指标Yjc的评价越好,c表示第j个层次下的一级指标的序号,j的取值为1、2、3,分别对应容器云平台的底层、平台层、应用层,c值取1,T表示第j个层次第c个一级指标下的二级指标集合,k表示二级指标集合T中二级指标的序号,j的取值为1、2、3时,对应的k的最大值分别为10、9、5,Σ表示求和操作,xjk表示第j个层次下的第k个二级指标归一化后的数值,*表示相乘操作,wjk表示xjk的权重,wjk由熵值法确定;
步骤9,按照下述式子计算容器云平台的综合性能值:
Score=∑j∈{1,2,3}(∑c∈{Pj}Yjc*wjc)*Wj
其中,Score表示对容器云平台的综合性能值,Score值越趋于100,表示被测容器云平台的综合性能越高,Pj表示第j个层次下的一级指标的集合,wjc表示第j个层次下第c个一级指标数值Yjc的权值,wjc取值1,Wj表示第j层性能指标值的权重,Wj由配置文件参数确定;
步骤10,测试报告展示
可视化模块根据性能评估模块生成的测试报告在前端界面上对测试报告进行可视化展示。
3.根据权利要求2所述的针对容器云平台不同层次的综合性能测试方法,其特征在于,步骤(2d)中所述测试集群容器资源限额信息包括内存、CPU、Block IO。
4.根据权利要求2所述的针对容器云平台不同层次的综合性能测试方法,其特征在于,步骤3中所述底层、平台、应用三个层次的基准二级指标如下:底层层次的二级指标包括CPU工作频率、CPU超标量、内存带宽、内存tCK时钟周期、磁盘利用率、磁盘读写延迟、磁盘吞吐量、网络吞吐量、网络时延、网络丢包率;平台层次的二级指标包括针对服务发现能力的服务注册耗时、服务注册成功率,针对负载均衡能力的服务响应时间、服务请求错误率,针对弹性伸缩能力的水平扩缩容平均耗时、服务运行性能,针对API接口能力的API接口平均响应时间,正对平台通信能力的网络时延、网络吞吐量;应用层次的二级指标包括针对服务基础性能的服务启动时间、服务的平均响应时间、服务的请求错误率、服务吞吐量,针对服务稳定性的服务响应时间。
5.根据权利要求2所述的针对容器云平台不同层次的综合性能测试方法,其特征在于,步骤(8a)中所述预处理指的是:
如果待处理的指标数据属于评价为越小越好的成本型指标,则按照下式进行预处理:
如果待处理的指标数据属于评价为越大越好的收益型指标,则按照下式进行预处理:
其中,xjk表示处理成本型指标时第j个层次下第k个二级指标归一化后的数值,xjk的值越趋于100,二级指标xjk的评价越好,min表示求最小值操作,xstd表示在还未发送负载执行命令时执行测试用例所采集的第j个层次下第k个二级指标的基准二级指标值,将基准二级指标值作为理想状态下的性能最优值,xload表示在负载接收容器在接收负载时执行测试用例所采集的第j个层次下第k个二级指标的二级指标值,x'jk表示处理收益型指标时第j个层次下第k个二级指标归一化后的数值,max表示求最大值操作。
6.根据权利要求2所述的针对容器云平台不同层次的综合性能测试方法,其特征在于,步骤(8b)中所述每个层次一级指标如下:底层层次的一级指标为底层容器性能损失程度,平台层次的一级指标为中层平台支撑能力,应用层的一级指标为顶层服务能力。
7.根据权利要求2所述的针对容器云平台不同层次的综合性能测试方法,其特征在于,步骤(8b)中所述熵值法是一种依据各指标值所包含的信息量的多少确定指标权重的客观赋权法,指标的熵越小,说明该指标值的变异程度越大,提供的信息量也就越多,在综合评价中起的作用越大,则该指标的权重也应越大。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110850665.1A CN113392029B (zh) | 2021-07-27 | 2021-07-27 | 针对容器云平台不同层次的综合性能测试装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110850665.1A CN113392029B (zh) | 2021-07-27 | 2021-07-27 | 针对容器云平台不同层次的综合性能测试装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113392029A CN113392029A (zh) | 2021-09-14 |
CN113392029B true CN113392029B (zh) | 2022-12-02 |
Family
ID=77622236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110850665.1A Active CN113392029B (zh) | 2021-07-27 | 2021-07-27 | 针对容器云平台不同层次的综合性能测试装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392029B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253716A (zh) * | 2021-12-09 | 2022-03-29 | 中信银行股份有限公司 | 一种基于容器集群性能的加权负载均衡方法及系统 |
CN113934446B (zh) * | 2021-12-16 | 2022-04-22 | 中电云数智科技有限公司 | 一种基于容器云平台的微服务配置系统及方法 |
CN114881233B (zh) * | 2022-04-20 | 2023-03-24 | 深圳市魔数智擎人工智能有限公司 | 一种基于容器的分布式模型推理服务方法 |
CN116594913B (zh) * | 2023-07-15 | 2023-09-19 | 青岛大学 | 一种智能软件自动化测试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020017844A1 (ko) * | 2018-07-19 | 2020-01-23 | 나무기술 주식회사 | 클라우드 플랫폼에서 복수의 클러스터 및 어플리케이션을 모니터링하는 방법 |
CN110968495A (zh) * | 2018-09-29 | 2020-04-07 | 浙江大学 | 一种容器云平台性能评估方法及装置 |
CN111984367A (zh) * | 2020-07-28 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种基于容器云平台的应用部署方法及系统 |
CN112559129A (zh) * | 2020-12-16 | 2021-03-26 | 西安电子科技大学 | 虚拟化平台负载均衡功能和性能的测试装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9152532B2 (en) * | 2012-08-07 | 2015-10-06 | Advanced Micro Devices, Inc. | System and method for configuring a cloud computing system with a synthetic test workload |
-
2021
- 2021-07-27 CN CN202110850665.1A patent/CN113392029B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020017844A1 (ko) * | 2018-07-19 | 2020-01-23 | 나무기술 주식회사 | 클라우드 플랫폼에서 복수의 클러스터 및 어플리케이션을 모니터링하는 방법 |
CN110968495A (zh) * | 2018-09-29 | 2020-04-07 | 浙江大学 | 一种容器云平台性能评估方法及装置 |
CN111984367A (zh) * | 2020-07-28 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种基于容器云平台的应用部署方法及系统 |
CN112559129A (zh) * | 2020-12-16 | 2021-03-26 | 西安电子科技大学 | 虚拟化平台负载均衡功能和性能的测试装置及方法 |
Non-Patent Citations (2)
Title |
---|
"Evaluating, Estimating, and Improving Network Performance in Container-based Clouds";Cassiano Rista等;《2018 IEEE Symposium on Computers and Communications (ISCC)》;20181118;第00514-00520页 * |
"基于Kubernetes的列控系统测试容器云平台设计";马勤政等;《计算机技术与发展》;20210630;第31卷(第6期);第52-58页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113392029A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113392029B (zh) | 针对容器云平台不同层次的综合性能测试装置及方法 | |
CN110990159B (zh) | 一种基于历史数据分析的容器云平台资源配额预测方法 | |
CN112559129B (zh) | 虚拟化平台负载均衡功能和性能的测试装置及方法 | |
CN111580934B (zh) | 云计算环境下多租户虚拟机性能一致的资源分配方法 | |
CN109918198A (zh) | 一种基于用户特征预测的仿真云平台负载调度系统及方法 | |
WO2019104854A1 (zh) | 性能测试评价方法、装置、终端设备及存储介质 | |
CN110515811A (zh) | 终端人工智能性能基准测试方法及装置 | |
CN110740079B (zh) | 一种面向分布式调度系统的全链路基准测试系统 | |
CN111355606A (zh) | 面向web应用的容器集群自适应扩缩容系统和方法 | |
CN101958917B (zh) | 一种面向云制造系统的资源服务组合柔性量测方法 | |
CN106850330B (zh) | 智能化的云桌面性能测试系统及方法 | |
CN110968495A (zh) | 一种容器云平台性能评估方法及装置 | |
CN111385142B (zh) | 基于Kubernetes的自适应伸缩web容器的方法 | |
CN102420867A (zh) | 一种基于实时负载均衡机制的集群存储入口解析方法 | |
CN109636276A (zh) | 评估配送资源能力、订单分配、配送资源调度方法及装置 | |
CN109597764A (zh) | 一种目录配额的测试方法及相关装置 | |
Cappiello et al. | Monitoring and assessing energy consumption and CO2 emissions in cloud-based systems | |
CN111367632A (zh) | 一种基于周期特征的容器云调度方法 | |
CN113507399B (zh) | 针对云平台不同层次的网络性能测评装置及方法 | |
CN111404974B (zh) | 一种云计算效能评估方法、装置及评估设备 | |
Wang et al. | Policy-based SLA-aware cloud service provision framework | |
CN1734427A (zh) | 基于事务处理的性能模型的自动化确认和校准 | |
CN113360353A (zh) | 一种测试服务器和云平台 | |
CN118550654A (zh) | 一种基于知识图谱的仿真资源调度方法 | |
CN115314500B (zh) | 基于改进topsis模型的动态负载均衡方法 |
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 |