一种基于Linux云平台的操作时效性能测试方法与流程

专利查询4月前  27


一种基于linux云平台的操作时效性能测试方法
技术领域
1.本技术涉及云平台性能测试领域,尤其涉及一种基于linux云平台的操作时效性能测试方法。


背景技术:

2.近年来,基于openstack等技术框架开发的云平台广泛应用在商业中,云平台上承载的服务和应用遍布各行各业,具有使用场景丰富、应用规模大、应用模型复杂的特点,云平台的性能是衡量云平台质量的一个重要指标。由此衍生了许多云平台性能测试评估工具、主流云平台的性能评比榜单。随着云平台市场越来越激烈的竞争,用户的要求也越来越高。除了要求功能完备,用户也开始关注服务应用和界面操作的流畅度。云平台系统功能模块数量多、结构复杂、依赖多、界面元素丰富,这对云平台的操作时效性能带来了极大的考验。操作时效性能差会导致界面卡顿、响应时间长。而良好的操作时效性能会给用户带来流畅的体验感,是云平台竞品分析中有力的竞争指标之一,由此可见云平台操作时效性能的重要性。
3.在现有的云平台性能测试相关技术和发明中,云平台性能测试方法及装置(cn201710607864.3)公开了一种云平台性能测试方法及装置:在预设的测试运行周期内,对正在运行中的云平台根据预存的压力级别范围随机选择一条压力注入路径进行压力注入,通过云平台监控系统监控云平台的运行获取测试运行结果。该发明的重点为压力测试,没有涉及操作时效相关性能。
4.基于联邦式检索的云平台并发性能测试方法(cn201410614018.0)通过获得基于联邦式检索的云计算平台在不同并发用户数情况下的评测指标,来实现对云计算平台的性能评测。测试方法分别测试云平台的查询事务响应时间、最大并发用户数和查询事务每秒事务数,用来评价云平台并发性能。该发明的重点为测试云平台并发性能,没有涉及操作时效相关性能。
5.综上,已有的发明实施例中缺少针对linux云平台操作时效性能的测试方法。


技术实现要素:

6.为解决上述现有技术所存在的问题,本发明提出了一种基于linux云平台的操作时效性能测试方法,能够对linux云平台进行操作时效性能测试。
7.为实现上述目的,本发明提出一种基于linux云平台的操作时效性能测试方法,包括如下步骤:
8.步骤s1:进行linux云平台的安装部署;
9.步骤s2:设计操作时效性的测试场景;
10.步骤s3:获取待测云平台的测试接口参数;
11.步骤s4:使用测试工具根据测试场景调用测试接口参数并编写脚本;
12.步骤s5:执行所述脚本获取聚合报告进行分析,定位时间损耗原因。
13.其中,所述步骤s1包括:
14.在底层服务器上安装好linux操作系统;
15.根据服务器数量进行计算节点和控制节点的分配,配置ip地址后在部署节点进行镜像展开,并分发到其他的控制节点和计算节点;
16.修改配置文件,然后执行云平台的部署。
17.其中,所述测试场景包括云主机的操作时效性场景和云硬盘的操作时效性场景。
18.其中,所述云主机的操作时效性场景的设计步骤包括:
19.步骤s21:单个用户依次执行创建单台云主机-关闭单台云主机-启动单台云主机-重启单台云主机-迁移单台云主机-冷迁移单台云主机-删除单台云主机;
20.步骤s22:单个用户依次执行批量创建多台云主机-关闭多台云主机-启动多台云主机-重启多台云主机-迁移多台云主机-冷迁移多台云主机-删除多台云主机,其中创建多台云主机时使用不同环境和架构的镜像;
21.步骤s23:多个并发用户同时执行创建单台云主机-关闭单台云主机-启动单台云主机-重启单台云主机-迁移单台云主机-冷迁移单台云主机-删除单台云主机;
22.步骤s24:多个并发用户同时执行批量创建多台云主机-关闭多台云主机-启动多台云主机-重启多台云主机-迁移多台云主机-冷迁移多台云主机-删除多台云主机,其中创建多台云主机时使用不同环境和架构的镜像。
23.其中,所述云硬盘的操作时效性场景的设计步骤包括:
24.步骤s25:单个用户依次执行云硬盘操作:创建单个云硬盘-挂载单个云硬盘至一台云主机-卸载单个云硬盘-删除单个云硬盘;
25.步骤s26:单个用户依次批量执行云硬盘操作:创建多个云硬盘-挂载多个云硬盘至同一台云主机-卸载多个云硬盘-删除多个云硬盘;
26.步骤s27:多个并发用户同时执行云硬盘操作:创建单个云硬盘-挂载单个云硬盘至多台云主机-卸载单个云硬盘-删除单个云硬盘;
27.步骤s28:多个并发用户同时执行云硬盘操作:创建多个云硬盘-挂载多个云硬盘至多台云主机-卸载多个云硬盘-删除多个云硬盘。
28.其中,所述步骤s3包括:
29.通过不同浏览器的开发者工具从请求的消息头部和消息体抓取出所需要的接口参数,所述接口参数包括http和https包、请求包结构、时间、断点调试、mock和重复发送请求。
30.其中,所述测试工具为jmeter。
31.其中,所述步骤s4包括:
32.步骤s401:使用测试工具创建测试计划;
33.步骤s402:根据测试计划创建线程组并配置端口、创建http代理服务器并进行参数配置;
34.步骤s403:根据设计的操作时效性的测试场景录制编写脚本;
35.步骤s404:将获取的云平台测试接口参数配置到脚本中。
36.其中,所述步骤s5包括:
37.步骤s501:所述测试工具通过循环控制器和吞吐量控制器来控制脚本执行;
38.步骤s502:脚本执行完后输出聚合报告,其中,所述聚合报告包括响应时间、吞吐量和数据传输速率;
39.步骤s503:对响应时间、吞吐量、数据传输速率进行分析,与预设目标值进行对比,判断操作时效性能结果是否满足期望,若操作时效性能不满足期望,则对不同的硬件设备和软件环境进行对比分析,定位操作时效的时间损耗原因;若操作时效性能满足期望,则结束测试。
40.从以上技术方案可以看出,本发明的技术方案具有以下优点:
41.(1)本发明根据云平台的操作时效场景编写测试脚本,然后执行所述脚本获取聚合报告进行分析,定位时间损耗原因,能够对linux云平台进行操作时效性能测试,填补现有技术缺少操作时效性能测试的空白;
42.(2)本发明模拟了真实用户使用的场景,得到的性能数据更具有参考意义;
43.(2)本发明不需要对应用和操作系统做任何修改;
44.(3)本发明不依赖于特定的云计算平台,可以与不同的linux云平台产品结合使用。
附图说明
45.为了更清楚地表达说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1是本发明实施例的流程示意图;
47.图2是基于linux云平台的云主机操作时效场景设计图;
48.图3是基于linux云平台的云硬盘操作时效场景设计图。
具体实施方式
49.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.linux云平台的操作时效性能是云平台质量的重要指标,本次发明主要针对linux云平台的一些基本操作功能的时效性,参见图1,本发明实施例的一种基于linux云平台的操作时效性能测试方法,包括如下步骤:
51.步骤s1:进行linux云平台的安装部署,向管理员提交项目申请。
52.在基于linux云平台的项目中,项目管理者需要创建项目并分配资源,首先由开发人员进行代码编写、编译、审计及打包完成后交付给测试人员,测试结束后进行入库。
53.根据编写的程序和底层镜像的制作,在底层服务器上安装好linux操作系统。根据服务器数量进行计算节点和控制节点的分配,配置ip地址后在部署节点进行镜像展开,并分发到其他的控制节点和计算节点,然后修改配置文件,再执行云平台的部署。部署完成后linux云平台使用docker来管理各种容器,并通过前端网页访问云平台,进行云主机、云硬
盘、网络、镜像等一系列资源的创建,确认服务是否正常。
54.步骤s2:设计云平台所需操作时效性的测试场景。
55.linux云平台部署完成后,基于该平台开始设计操作时效性的测试场景。
56.第一部分是云主机的操作时效性场景设计。云主机最主要的功能操作包括云主机的创建、关闭、启动、重启、迁移、冷迁移和删除,结合云主机主要功能操作设计的场景如下:单个用户操作单台云主机、单个用户批量操作多台云主机、多个并发用户分别操作单台云主机、多个并发用户分别批量操作多台云主机;其次云主机使用的镜像覆盖不同的镜像环境和镜像架构,镜像环境包括kylin、centos、ubuntu等,镜像架构包括x86、arm、龙芯等。参见图2,具体的云主机操作时效设计场景如下。
57.步骤s21,单个用户依次执行创建单台云主机-关闭单台云主机-启动单台云主机-重启单台云主机-迁移单台云主机-冷迁移单台云主机-删除单台云主机。
58.步骤s22,单个用户依次执行批量创建多台云主机-关闭多台云主机-启动多台云主机-重启多台云主机-迁移多台云主机-冷迁移多台云主机-删除多台云主机;创建多台云主机时使用不同环境和架构的镜像。
59.步骤s23,多个并发用户同时执行创建单台云主机-关闭单台云主机-启动单台云主机-重启单台云主机-迁移单台云主机-冷迁移单台云主机-删除单台云主机。
60.步骤s24,多个并发用户同时执行批量创建多台云主机-关闭多台云主机-启动多台云主机-重启多台云主机-迁移多台云主机-冷迁移多台云主机-删除多台云主机;创建多台云主机时使用不同环境和架构的镜像。
61.第二部分是云硬盘的操作时效性场景设计。云硬盘最主要的功能操作包括云硬盘的创建、挂载、卸载和删除,参见图3,结合云硬盘主要功能操作设计的场景如下:单个用户操作单个云硬盘、单个用户批量操作多个云硬盘、多个并发用户分别操作单个云硬盘、多个并发用户分别批量操作多个云硬盘;其次云硬盘的挂载包括一个云硬盘挂载到一个云主机、多个云硬盘挂载到一个云主机、一个云硬盘挂载到多个的云主机。具体的云硬盘操作时效设计场景如下。
62.步骤s25,单个用户依次执行云硬盘操作:创建单个云硬盘-挂载单个云硬盘至一台云主机-卸载单个云硬盘-删除单个云硬盘。
63.步骤s26,单个用户依次批量执行云硬盘操作:创建多个云硬盘-挂载多个云硬盘至同一台云主机-卸载多个云硬盘-删除多个云硬盘。
64.步骤s27,多个并发用户同时执行云硬盘操作:创建单个云硬盘-挂载单个云硬盘至多台云主机-卸载单个云硬盘-删除单个云硬盘。
65.步骤s28,多个并发用户同时执行云硬盘操作:创建多个云硬盘-挂载多个云硬盘至多台云主机-卸载多个云硬盘-删除多个云硬盘。
66.通过上述两部分操作时效场景设计,可以覆盖单个用户和并发用户的云平台、云硬盘主要功能场景。
67.步骤s3:通过专用传输通道获取待测云平台的测试接口参数。
68.linux云平台的信息传输结构主要是通过linux云平台底层控制节点的docker所控制的khatch-ui容器使用api接口通过消息队列对worker工作进行信息传输,并与其他容器的接口进行合作完成底层的任务创建,并传输到前端网页上展现出linux云平台的可视
化信息界面。因此可以使用不同浏览器的开发者工具从消息头部和消息体抓取出所需要的测试接口参数,包括http和https包、请求包结构、时间、断点调试、mock、重复发送请求等,以及根据linux云平台不同实施例的特定值,比如名称、id、uuid、特殊字符等。
69.步骤s4:使用测试工具根据测试场景调用测试接口参数并编写脚本。
70.具体地,测试工具为jmeter。jmeter是apache组织开发的基于java的压力测试工具。用于对软件做压力测试,可在测试后输出聚合报告,聚合报告参数包括响应时间、吞吐量、数据传输速率等。
71.基于linux云平台的接口参数的获取后,需要使用jmeter创建测试计划,根据测试计划创建线程组并配置端口、创建http代理服务器并进行参数配置,然后根据步骤s2中设计的操作时效性场景进行脚本录制编写,脚本场景包括云主机创建、删除、启动、重启、关机和迁移;云硬盘的创建、删除、挂载和卸载。脚本录制编写结束后将步骤s3中所获取到的测试接口参数配置到脚本中。
72.步骤s5:执行所述脚本获取聚合报告进行分析,定位时间损耗原因。
73.操作时效性能脚本录制编写完成后,通过循环控制器和吞吐量控制器来控制脚本执行,最后在聚合报告中查看收集到的操作时效性能数据,即响应时间、吞吐量、数据传输速率。
74.响应时间即执行一个操作所需的时间,jmeter执行脚本后发出请求操作,将构造的http请求发送至web端云平台,然后云平台服务器接收请求并按要求进行处理,构造http响应,将响应结果返回至jmeter,由此获得一个操作的响应时间。系统的吞吐量(承压能力)与请求对cpu的消耗、外部接口、io等等紧密关联,单个请求对cpu消耗越高,会导致外部系统接口、io影响速度越慢,系统吞吐能力越低;反之越高。吞吐量主要是由qps、并发数和响应时间决定的。数据传输速率由http请求总响应数据的大小除以总响应时间得到。
75.脚本运行完成后jmeter会生成聚合报告,得到操作时效性能数据,通过对响应时间、吞吐量、数据传输速率进行分析,与目标值进行对比,判断操作时效性能结果是否满足期望。对于操作时效性能较差的场景需要对不同的硬件设备和软件环境进行对比分析,定位操作时效的时间损耗原因。
76.针对不同的测试项有不同的时间损耗原因分析方式。云主机的创建、开机、关机、删除和迁移需要根据以下几点判断。1.计算节点数量:相同控制节点存在的计算节点数量越多,损耗率越低;2.镜像的格式:目前使用分布式存储raw格式镜像创建速度远超过qcow2格式的镜像、使用文字界面镜像系统的损耗率低于图形界面的镜像系统、镜像系统中的驱动内容越多损耗率越高;3.操作类型:同时创建的云主机越多损耗率越高;4.服务器型号:不同服务器类型的时间损耗是不一样的。云硬盘的创建、删除和挂载需要根据以下几点判断:分布式存储和本地存储的损耗率低于集中存储;分布式存储的osd数量越多损耗率越低。
77.本发明实施例具有以下效果:
78.(1)本发明通过在分析过程中设计了云平台的操作时效场景,覆盖了云平台两个主要模块云主机和云硬盘的常用操作,能够对linux云平台进行操作时效性能测试,填补现有技术缺少操作时效性能测试的空白;
79.(2)本发明模拟了真实用户使用的场景,得到的性能数据更具有参考意义;
80.(2)本发明不需要对应用和操作系统做任何修改;
81.(3)本发明不依赖于特定的云计算平台,可以与不同的linux云平台产品结合使用。
82.本发明涉及的缩略语和关键术语定义如下:
83.docker:docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的linux或windows操作系统的机器上,也可以实现虚拟化。
84.khatch-ui:docker所控制的一个容器。
85.qps:queries per second,意思是每秒查询率,是一台服务器每秒能够响应的查询次数。
86.osd:即对象存储守护程序,但是它并非针对对象存储。是物理磁盘驱动器,将数据以对象的形式存储到集群中的每个节点的物理磁盘上。
87.应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

技术特征:
1.一种基于linux云平台的操作时效性能测试方法,其特征在于,包括如下步骤:步骤s1:进行linux云平台的安装部署;步骤s2:设计操作时效性的测试场景;步骤s3:获取待测云平台的测试接口参数;步骤s4:使用测试工具根据测试场景调用测试接口参数并编写脚本;步骤s5:执行所述脚本获取聚合报告进行分析,定位时间损耗原因。2.根据权利要求1所述的基于linux云平台的操作时效性能测试方法,其特征在于,所述步骤s1包括:在底层服务器上安装好linux操作系统;根据服务器数量进行计算节点和控制节点的分配,配置ip地址后在部署节点进行镜像展开,并分发到其他的控制节点和计算节点;修改配置文件,然后执行云平台的部署。3.根据权利要求1所述的基于linux云平台的操作时效性能测试方法,其特征在于,所述测试场景包括云主机的操作时效性场景和云硬盘的操作时效性场景。4.根据权利要求3所述的基于linux云平台的操作时效性能测试方法,其特征在于,所述云主机的操作时效性场景的设计步骤包括:步骤s21:单个用户依次执行创建单台云主机-关闭单台云主机-启动单台云主机-重启单台云主机-迁移单台云主机-冷迁移单台云主机-删除单台云主机;步骤s22:单个用户依次执行批量创建多台云主机-关闭多台云主机-启动多台云主机-重启多台云主机-迁移多台云主机-冷迁移多台云主机-删除多台云主机,其中创建多台云主机时使用不同环境和架构的镜像;步骤s23:多个并发用户同时执行创建单台云主机-关闭单台云主机-启动单台云主机-重启单台云主机-迁移单台云主机-冷迁移单台云主机-删除单台云主机;步骤s24:多个并发用户同时执行批量创建多台云主机-关闭多台云主机-启动多台云主机-重启多台云主机-迁移多台云主机-冷迁移多台云主机-删除多台云主机,其中创建多台云主机时使用不同环境和架构的镜像。5.根据权利要求3或4所述的基于linux云平台的操作时效性能测试方法,其特征在于,所述云硬盘的操作时效性场景的设计步骤包括:步骤s25:单个用户依次执行云硬盘操作:创建单个云硬盘-挂载单个云硬盘至一台云主机-卸载单个云硬盘-删除单个云硬盘;步骤s26:单个用户依次批量执行云硬盘操作:创建多个云硬盘-挂载多个云硬盘至同一台云主机-卸载多个云硬盘-删除多个云硬盘;步骤s27:多个并发用户同时执行云硬盘操作:创建单个云硬盘-挂载单个云硬盘至多台云主机-卸载单个云硬盘-删除单个云硬盘;步骤s28:多个并发用户同时执行云硬盘操作:创建多个云硬盘-挂载多个云硬盘至多台云主机-卸载多个云硬盘-删除多个云硬盘。6.根据权利要求1所述的基于linux云平台的操作时效性能测试方法,其特征在于,所述步骤s3包括:通过不同浏览器的开发者工具从请求的消息头部和消息体抓取出所需要的接口参数,
所述接口参数包括http和https包、请求包结构、时间、断点调试、mock和重复发送请求。7.根据权利要求1所述的基于linux云平台的操作时效性能测试方法,其特征在于,所述测试工具为jmeter。8.根据权利要求1所述的基于linux云平台的操作时效性能测试方法,其特征在于,所述步骤s4包括:步骤s401:使用测试工具创建测试计划;步骤s402:根据测试计划创建线程组并配置端口、创建http代理服务器并进行参数配置;步骤s403:根据设计的操作时效性的测试场景录制编写脚本;步骤s404:将获取的云平台测试接口参数配置到脚本中。9.根据权利要求1所述的基于linux云平台的操作时效性能测试方法,其特征在于,所述步骤s5包括:步骤s501:所述测试工具通过循环控制器和吞吐量控制器来控制脚本执行;步骤s502:脚本执行完后输出聚合报告,其中,所述聚合报告包括响应时间、吞吐量和数据传输速率;步骤s503:对响应时间、吞吐量、数据传输速率进行分析,与预设目标值进行对比,判断操作时效性能结果是否满足期望,若操作时效性能不满足期望,则对不同的硬件设备和软件环境进行对比分析,定位操作时效的时间损耗原因;若操作时效性能满足期望,则结束测试。

技术总结
本发明公开了一种基于Linux云平台的操作时效性能测试方法,包括如下步骤:步骤S1:进行Linux云平台的安装部署;步骤S2:设计操作时效性的测试场景;步骤S3:获取待测云平台的测试接口参数;步骤S4:使用测试工具根据测试场景调用测试接口参数并编写脚本;步骤S5:执行所述脚本获取聚合报告进行分析,定位时间损耗原因。本发明能够对Linux云平台进行操作时效性能测试,填补现有技术缺少操作时效性能测试的空白;模拟了真实用户使用的场景,得到的性能数据更具有参考意义。数据更具有参考意义。数据更具有参考意义。


技术研发人员:钟宇琦 尉钊源 唐晓东 陈妮 易孝倩
受保护的技术使用者:麒麟软件有限公司
技术研发日:2021.11.25
技术公布日:2022/3/8

最新回复(0)