CN108595306B - 一种面向混部云的服务性能测试方法 - Google Patents
一种面向混部云的服务性能测试方法 Download PDFInfo
- Publication number
- CN108595306B CN108595306B CN201810375893.6A CN201810375893A CN108595306B CN 108595306 B CN108595306 B CN 108595306B CN 201810375893 A CN201810375893 A CN 201810375893A CN 108595306 B CN108595306 B CN 108595306B
- Authority
- CN
- China
- Prior art keywords
- component
- data
- test
- online service
- online
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- 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/3452—Performance evaluation by statistical analysis
Abstract
一种面向混部云的服务性能测试方法属于计算机应用技术领域,涉及一种云平台的服务性能测试方法,该服务性能测试方法能够模拟相对真实的生产环境,部署多种在线业务类型和多种离线批处理任务类型,能够实时监控系统的各种资源利用率,并对测试结果进行合理的分析帮助使用者评价一个混部云的性能。本发明综合考虑到了实际生产环境中混部云真正关心的系统性能指标,即保障在线业务的延迟的同时尽量提高系统的资源利用率;同时,本发明能够提供多种接近生产环境的在线业务和离线任务场景,并且测试环境可以实现快速自动化部署,动态调整参数;能够帮助使用者评价一个混部云保障在线业务和系统资源利用的能力。
Description
技术领域
本发明属于计算机应用技术领域,涉及一种云平台的服务性能测试方法,尤其涉及一种面向混部云的服务性能测试方法。
背景技术
过去十余年来,云计算的研究和使用发展迅速,已经成长为主流的新兴计算模型,为科学研究、企业计算、互联网服务、移动互联网等众多领域提供了各种多租户弹性服务。同时,云计算存在的种种问题也暴露出来,尤其“同时满足用户体验与系统效率要求”的难题变得日益突出。当代的云计算平台主要有两大类(1)分区云:将云端数据中心计算机划分成为互不影响的分区(即机群),每个应用独占一个分区。(2)虚拟化云:采用虚拟机、容器、无服务器函数等技术实现多个虚拟计算机共享一个云端数据中心计算机或一个机群。
近年来随着大数据的普及,对实时性要求并不高的批量离线作业规模越来越大,将离线业务和在线业务混合部署在一起逐渐成为趋势。希望以此能提高资源利用率,又不影响在线业务的响应时间。
所谓混部云,首先它是一个虚拟云,其次它部署着两种不同的业务。一种是长期不间断运行,大多数时间占用资源较少,对延迟敏感的在线业务,另一种是短期的,处理大量数据,占用大量计算机资源(CPU,内存,带宽),对延迟不敏感的离线批处理任务。通过虚拟机,容器等技术,再加上资源的精细合理化调度,让不同服务共享资源,堆叠高密部署,可以有效地提高资源利用率。但是这种模式对在线业务的应用上存在瓶颈。因为在线业务间的资源共享,高密部署会带来各个层面的资源使用竞争,从而增加在线服务的延迟,尤其是长尾请求的延迟。
对于在线业务来说,延迟的增加往往立刻反应到用户的流失和收入的下降,这是在线业务无法接受的。而对于这样一个混部云,在线服务的延迟与机器的资源利用率的相互关系就成为了评价它性能的重要指标。
对于在线业务和批处理离线作业混部云,现有技术还没有针对性的评测标准或相应的工具。目前还都只是把这两种业务进行分别测试,一种是只针对在线业务,测试它在一个集群或云平台中运行时的服务延迟表现,如tailbench;另一种是针对大数据的批处理离线作业,它主要测试批处理作业在一个集群或云平台上运行时的吞吐量、作业完成时间以及系统的资源利用率等,如Hibench,BigDataBench等。这两种测试方法更倾向于测试分区云,尽管它们也可以应用到虚拟云中,但测试目标、测试过程或测试结果仍然不能反映混部云所关心的性能指标。
发明内容
针对上述的反映混部云性能的指标,本发明的目的就是提供一种测试该指标的方法。该方法能够模拟相对真实的生产环境,部署多种在线业务类型和多种离线批处理任务类型,能够实时监控系统的各种资源利用率,能够对测试结果进行合理的分析来帮助使用者评价一个混部云的性能。
为了达到上述目的,本发明的技术方案为:
一种面向混部云的服务性能测试方法,该服务性能测试方法能够模拟相对真实的生产环境,部署多种在线业务类型和多种离线批处理任务类型,能够实时监控系统的各种资源利用率,并对测试结果进行合理的分析帮助使用者评价一个混部云的性能,包括以下步骤:
步骤一,测试环境部署
测试环境包括以下三个模块:在线业务部署模块,离线批处理作业部署模块,系统检测及数据采集模块。
所述在线业务部署模块:包括部署多种类型的在线业务的部件A和参数调整部件B。所述部署多种类型的在线业务的部件A,启动后能够运行常见的在线业务,包括网页搜索、交易数据库、键值存储、实时文本、语音和图像处理等。所述参数调整部件B可以根据需求动态设置部件A中的在线业务的参数,包括服务器数量,用户请求的速率等,以求能够最大化地模拟接近实际的生产环境。
所述离线批处理负载部署模块:包括部署离线批处理任务的部件A和数据生成部件B。所述部署离线批处理任务的部件A中,批处理任务主要指大数据方面的批处理作业;该部件启动后能够部署包括hadoop,spark等大数据处理环境,提供常用的大数据处理任务程序。所述数据生成部件B负责生成部件A中的离线批处理作业程序所需要的接近实际生产环境的测试数据。
所述系统资源监测及数据采集模块:包括系统资源监测部件A和数据采集部件B。所述系统资源监测部件A系统资源监测部件,能够实时监测云平台系统中每个物理机的资源使用情况,包括CPU负载,内存占用,网络带宽占用,磁盘IO速率等。所述数据采集部件B负责系统资源监测部件A中的各个资源使用信息,同时采集在线业务部署模块中部件A在线业务的延迟信息,然后将这些采集的信息格式化成为带有时间戳的数据以供后续进行数据分析使用。
步骤二,根据需求进行测试
首先系统资源监测及数据采集模块对系统进行监测并准备在测试过程中采集测试数据。测试过程中,采用在线业务部署模块对在线业务进行部署,使用离线批处理负载部署模块对离线任务进行部署。部署这两种负载时,使用者根据云平台实际的业务需求,调整二者的负载比例进行测试。测试完成后使用系统资源监测及数据采集模块的数据采集部件B对收集的在线业务的延迟信息、系统的资源利用率信息。
步骤三,测试结果分析
对步骤二中采集的信息进行格式化处理,并对处理后得到的数据进行分析。绘制在线业务的延迟数据的累积分布函数(Cumulative Distribution Function,CDF)图,系统负载与相应延迟的变化关系的散点图,对两者的关系进行趋势线回归分析。
与现有技术相比,本发明的优点在于:
(1)综合考虑到了实际生产环境中混部云真正关心的系统性能指标,即保障在线业务的延迟的同时尽量提高系统的资源利用率。
(2)能够提供多种接近生产环境的在线业务和离线任务场景,并且测试环境可以实现快速自动化部署,动态调整参数。
附图说明
图1测试环境的基本架构。
具体实施方式
以下结合具体实施例对本发明做进一步说明。
一种面向混部云的服务性能测试方法,分为三个步骤,具体如下:
步骤一,测试环境部署
如图1所示,它是此技术方案中测试环境的基本架构,在虚拟化层采用的是开源的OpenStack,它是目前最常见的云计算管理平台之一。部署测试环境的三个模块。
在线业务部署模块:该模块主体是一个Openstack镜像,即图1中虚拟机启动时使用的操作系统文件,镜像采用linux(Ubuntu16.04)系统。在线业务部署功能采用开源的Tailbench,它是一套测试评价延迟敏感应用的工具,能够部署包括网页搜索、交易数据库、键值存储、实时文本、语音和图像处理的在线业务类型,并且能够记录程序运行期间服务请求的延迟。将Tailbench编译完成,还需要在Tailbench的基础上实现测试过程需要的自动化工具,该工具采用脚本语言实现。该工具具有以下功能:(1)可以动态调整在线业务运行过程中的需求参数,包括服务器的数量(nserver),发送服务请求的数量(requsts),发送服务请求的速率(qps)。(2)在原Tailbench产生的尾延迟测试数据上打上时间戳,并在原Tailbench解析产生平均延迟,95%分位延迟,最大延迟的基础上,解析使用者想要的参数分位(例如99%)的延迟数据信息。
将上述功能集成到Linux系统中,然后将该系统制作成Openstack镜像上传到云平台使用。
离线批处理任务部署模块:该模块主体也是一个Openstack镜像,镜像采用linux(Ubuntu16.04)系统。在此镜像中部署了常用的大数据处理框架Hadoop(也可以根据需要部署其他类型的离线批处理负载)。由于几乎所有的大数据处理框架都是分布式的,而且实际上在云平台中,离线作业负载的变化的主要原因就是运行离线作业的虚拟机的数量,即分布式框架中的计算节点的数量,因此该模块实现了Hadoop的自动化部署和动态扩展,以此来调节离线作业的负载。该功能采用脚本语言实现,功能如下:(1)根据用户提供的参数自动配置所有Hadoop节点的Linux系统的Hosts,hostname,配置Hadoop的master节点向所有slave节点的免密码ssh访问,自动从master节点向所有slave节点分发Hadoop的配置文件。(2)根据负载调整的需要自动化扩展或减少Hadoop的slave节点。
为了能够尽可能地模拟真实生产环境中的离线作业负载,还集成了开源的BigDataBench的数据生成模块,它能够根据实际的生产环境中的数据(如wiki百科,facebook社交图谱,基因序列数据等)生成真实的数据类型和数据语义。
将上述功能集成到Linux系统中,然后将该系统制作成Openstack镜像上传到云平台使用。
系统资源监测及数据采集模块:系统资源监测模块采用zabbix,它是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。在图1所示的各个物理机中安装zabbix,它能够提供各个主机的资源使用情况的可视化界面,方便使用者更加直观地掌握系统的运行情况。
数据采集模块负责收集在线业务执行过程中产生的延迟信息数据和测试过程中系统的资源使用情况的数据,在这些数据上都要打上时间戳,以便比较同一时间内负载与延迟的对应变化。其中:(1)收集延迟信息的工具是通过脚本语言实现,能够实时解析Tailbench中部署的在线业务执行时产生的lats.bin文件中的延迟信息,得到平均延迟、尾延迟(如95%或99%)、最大延迟信息并打上时间戳记录到一个文件中。这个工具是集成到在线业务部署模块的镜像中的。(2)收集系统资源使用情况的工具也是通过脚本语言实现,部署到图1中所有物理机上,它在测试的整个过程每隔一定时间(如1s)收集一次每个物理机的资源使用情况,包括CPU负载,内存使用率,网络带宽,同时将给这些数据打上时间戳。
步骤二,根据需求进行测试
由于影响一个云平台性能的不确定因素有很多,比如每个计算机的实际物理性能,云平台的网络架构,云平台的调度算法,甚至大数据批处理任务的并行执行和在线业务的随机请求都会影响到测试结果。因此单次测试的结果置信度不足,要做多组相同参数测试才能得到可信的结果。部署在线或离线任务时要从云平台启动相应镜像的虚拟机。
对于单次的测试,过程如下:
测试全程运行系统检测和数据采集模块,记录每次测试的数据信息。
从在线业务的镜像文件启动Openstack云主机,然后在运行在线业务。以搜索在线业务xapian为例。设置参数,例如nserver=1,qps=(100,200,300,…),request=qps*60。在没有离线作业负载的情况下,单独运行在线业务,记录测试结果。
从离线作业的镜像文件启动Openstack云主机部署离线作业。启动N台Hadoop的Slave节点,通过脚本工具完成自动化部署,然后运行离线批处理作业。还可以根据测试需求调整参数N以提高或降低系统的负载,同样可以通过脚本工具辅助完成。运行离线作业的同时启动在线业务,在线业务的参数要与(1)中的保持一致。测试完成记录测试结果。
步骤三,测试结果分析
完成测试后会得到以下数据:(1)整个测试过程中的系统负载信息,包括CPU负载,内存占用率,带宽占用率等;(2)每次运行在线任务期间的延迟信息。以上数据都带有时间戳信息。
可以根据每次在线任务测试的延迟信息作出相应的CDF图,每次测试参数的不同,都可以从它的CDF图中反映出在不同负载情况下系统对在线业务的延迟保障能力。
可以根据测试数据的时间戳信息对同一时间下的负载情况和延迟信息作出它们的散点图,并可以对其进行线性,指数等多种趋势回归分析。回归分析的结果是在线服务延迟随系统负载的变化关系,它们的关系能够反映出一个混部云保障在线业务延迟和系统资源利用率的性能。
以上所述实施例仅表达了本发明的实施方式,但并不能因此而理解为对本发明专利的范围的限制,应当指出,对于本领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些均属于本发明的保护范围。
Claims (1)
1.一种面向混部云的服务性能测试方法,其特征在于,所述的服务性能测试方法部署多种在线业务类型和多种离线批处理任务类型,实时监控系统的各种资源利用率,并对测试结果进行分析,包括以下步骤:
步骤一,测试环境部署
测试环境包括以下三个模块:在线业务部署模块,离线批处理负载部署模块,系统资源监测及数据采集模块;
所述在线业务部署模块:包括部署多种类型的在线业务的部件Ⅰ和参数调整部件Ⅱ;所述部署多种类型的在线业务的部件Ⅰ,启动后能够运行常见的在线业务;所述参数调整部件Ⅱ根据需求动态设置部件Ⅰ中的在线业务的参数;
所述离线批处理负载部署模块:包括部署离线批处理任务的部件A和数据生成部件B;所述部署离线批处理任务的部件A启动后能够部署大数据处理环境,提供常用的大数据处理任务程序;所述数据生成部件B负责生成部件A中的离线批处理作业程序所需要的接近实际生产环境的测试数据;
所述系统资源监测及数据采集模块:包括系统资源监测部件C和数据采集部件D;所述系统资源监测部件C能够实时监测云平台系统中每个物理机的资源使用情况;所述数据采集部件D负责采集系统资源监测部件C中的各个资源使用信息,同时采集在线业务部署模块中部件Ⅰ在线业务的延迟信息,将采集的信息格式化成为带有时间戳的数据用于后续数据分析使用;
步骤二,根据需求进行测试
首先系统资源监测及数据采集模块对系统进行监测并准备在测试过程中采集测试数据;测试过程中,采用在线业务部署模块对在线业务进行部署,采用离线批处理负载部署模块对离线任务进行部署;部署这两种负载时,使用者根据云平台实际的业务需求,调整二者的负载比例进行测试;测试完成后采用系统资源监测及数据采集模块的数据采集部件D收集在线业务的延迟信息、系统的资源利用率信息;
步骤三,测试结果分析
对步骤二中采集的信息进行格式化处理,并对处理后得到的数据进行分析;绘制在线业务的延迟数据的累积分布函数图,系统负载与相应延迟的变化关系的散点图,对两者的关系进行趋势线回归分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810375893.6A CN108595306B (zh) | 2018-04-18 | 2018-04-18 | 一种面向混部云的服务性能测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810375893.6A CN108595306B (zh) | 2018-04-18 | 2018-04-18 | 一种面向混部云的服务性能测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108595306A CN108595306A (zh) | 2018-09-28 |
CN108595306B true CN108595306B (zh) | 2021-03-26 |
Family
ID=63609398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810375893.6A Active CN108595306B (zh) | 2018-04-18 | 2018-04-18 | 一种面向混部云的服务性能测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595306B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109460287A (zh) * | 2018-11-14 | 2019-03-12 | 携程旅游信息技术(上海)有限公司 | 资源混合调度的控制方法及系统 |
CN109347974B (zh) * | 2018-11-16 | 2020-10-13 | 北京航空航天大学 | 提高在线服务质量和集群资源利用率的混合调度系统 |
CN109885377B (zh) | 2018-11-23 | 2023-04-28 | 中国银联股份有限公司 | 统一资源调度协调器及其创建虚拟机和/或容器的方法、统一资源调度系统 |
CN109547262B (zh) * | 2018-12-12 | 2021-09-24 | 四川商通实业有限公司 | 一种基于zabbix监控交易系统异常的方法及其系统 |
CN111026553B (zh) * | 2019-12-13 | 2024-04-19 | 深圳先进技术研究院 | 离线混部作业的资源调度方法及服务器系统 |
CN111061618B (zh) * | 2019-12-16 | 2024-03-15 | 南方电网数字平台科技(广东)有限公司 | 云平台仿真系统、云平台性能测试方法和计算机设备 |
CN112162791B (zh) * | 2020-09-25 | 2022-12-30 | 天津大学 | 一种分布式深度学习任务混部后的性能预测方法 |
CN113254344A (zh) * | 2021-06-07 | 2021-08-13 | 吉林大学 | 一种新的计算引擎测试平台、装置及系统 |
CN113672382B (zh) * | 2021-07-20 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 一种业务资源分配方法、装置、电子设备和存储介质 |
CN113656268B (zh) * | 2021-07-30 | 2024-02-06 | 北京百度网讯科技有限公司 | 业务服务的性能测试方法、装置、电子设备和存储介质 |
CN115098105B (zh) * | 2022-02-22 | 2023-02-28 | 联信弘方(北京)科技股份有限公司 | 容器云性能测试评估实现方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013226031A (ja) * | 2012-03-23 | 2013-10-31 | Toshiba Corp | 蓄電池システムとその運用方法 |
CN104320653A (zh) * | 2014-10-22 | 2015-01-28 | 中国电信集团工会上海市网络操作维护中心委员会 | 一种智能化全业务故障诊断系统 |
-
2018
- 2018-04-18 CN CN201810375893.6A patent/CN108595306B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013226031A (ja) * | 2012-03-23 | 2013-10-31 | Toshiba Corp | 蓄電池システムとその運用方法 |
CN104320653A (zh) * | 2014-10-22 | 2015-01-28 | 中国电信集团工会上海市网络操作维护中心委员会 | 一种智能化全业务故障诊断系统 |
Non-Patent Citations (2)
Title |
---|
"An Architecture for Cloud Service Testing and Real Time Management";Win-Tsung Lo 等;《2015 IEEE 39th Annual International Computers, Software & Applications Conference》;20150705;第598-603页 * |
"面向混部云的性能评测方法的研究";乔佳彬;《中国优秀硕士学位论文全文数据库》;20190215(第02期);第I139-52页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108595306A (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595306B (zh) | 一种面向混部云的服务性能测试方法 | |
CN107689953B (zh) | 一种面向多租户云计算的容器安全监控方法及系统 | |
US11755452B2 (en) | Log data collection method based on log data generated by container in application container environment, log data collection device, storage medium, and log data collection system | |
KR102125219B1 (ko) | 데이터 처리 방법, 장치, 시스템, 프로그램 및 컴퓨터 판독가능한 기록매체 | |
JP5926864B2 (ja) | クラウドコンピューティングシステムをコンフィギュアするためのシステム及び方法 | |
JP6373840B2 (ja) | クラウドコンピューティングシステムをチューニングするためのシステム及び方法 | |
US20180253373A1 (en) | Systems and methods for automated web performance testing for cloud apps in use-case scenarios | |
US9727439B2 (en) | Tracking application deployment errors via cloud logs | |
US9262231B2 (en) | System and method for modifying a hardware configuration of a cloud computing system | |
US11171849B2 (en) | Collecting samples hierarchically in a datacenter | |
US11307957B2 (en) | Systems and methods for determining optimal cost-to-serve for cloud applications in the public cloud | |
US6269410B1 (en) | Method and apparatus for using system traces to characterize workloads in a data storage system | |
CN104182288A (zh) | 一种服务器集群系统功耗自动化测试的方法 | |
Yuan et al. | On interference-aware provisioning for cloud-based big data processing | |
Kjorveziroski et al. | Kubernetes distributions for the edge: serverless performance evaluation | |
US20160277233A1 (en) | Provisioning resources for datacenters | |
US20230376397A1 (en) | Method and System for Determining Interval Time for Testing of Server, and Device and Medium | |
CN107193749B (zh) | 测试方法、装置及设备 | |
CN107092556B (zh) | 测试方法、装置及设备 | |
CN113127356A (zh) | 压测方法、装置、电子设备及存储介质 | |
CN113760638A (zh) | 一种基于kubernetes集群的日志服务方法和装置 | |
CN113704077A (zh) | 测试用例生成方法及装置 | |
CN110909023B (zh) | 一种查询计划的获取方法、数据查询方法及装置 | |
CN107515779B (zh) | 基于探测器的虚拟机性能干扰度量系统及方法 | |
CN108134810B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |