系统资源监控与瓶颈识别方法与流程

文档序号:12067912阅读:405来源:国知局

本发明涉及云端系统性能测试中操作系统资源占用监控与瓶颈分析技术领域,具体涉及一种系统资源监控与瓶颈识别方法。



背景技术:

随着互联网、移动互联网技术的发展,C/S,B/S构架的系统已经深入各行各业和普通人的日常生活之中。如今,针对云端系统的性能测试对于软件测试、软件工程领域已成为耳熟能详的要求和作业。优秀的软件性能测试不仅需要正确地测量出被测系统的各项性能指标,还需对整个被测系统在操作系统上的资源的占用进行测量与分析,以识别被测系统资源消耗上的性能瓶颈,预估被测系统的性能容量等。为此,性能测试工具一般都为性能测试从业者提供了系统资源占用监控的功能,例如:LoadRunner有专门资源监控器、JMeter有系统资源监控组件等等。但是,它们都面临一个现实和难题,即:性能测试人员不能良好地驾驭这些资源监控功能,而在测试过程中忽略资源监控。性能测试人员的困惑表现为:难以从监控所获得的结果数据中提取有用信息来帮助定位瓶颈、在大中型系统性能测试中,创建资源监控项工作量过巨大、工具中缺少需要的监控项等等。

经过深入分析,我们发现导致性能测试人员难以驾驭资源监控,完成瓶颈定位的困难主要有以下几个原因:(1)操作系统性能监控指标的选择需要丰富的基础技术储备,性能测试人员对于从重多指标中选出适用的指标无所适从;(2)性能测试工具原生能够采集的系统资源占用指标不能满足所有业务场景的需求,且这些功能难以扩展;(3)系统资源占用性能指标的单位各异,采集到的原始指标值无法直接进行比较(例如:CPU占用率和带宽使用量因单位不一致,是不能直接通过比较而得出谁的资源更紧缺的),进而难以识别出资源瓶颈;(4)监控、分析等操作繁琐,难以形成适用于单位、组织的统一监控标准,导致资源监控和分析成本高昂。



技术实现要素:

本发明克服了现有技术的不足,提供一种系统资源监控与瓶颈识别方法。

为解决上述的技术问题,本发明采用以下技术方案:

一种系统资源监控与瓶颈识别方法,它包括以下步骤:

步骤1,资源占用指标采集,根据业务场景需求,明确需要监控的资源占用指标,所述资源占用指标包括CPU 1分钟平均负载、CPU使用率、内存每秒换入换出量、硬盘繁忙度和真实网络带宽消耗量,所述资源占用指标的采集命令均组织到shell脚本中;

步骤2,资源利用率转换,将步骤1中资源占用指标百分比转换,转换公式如下:

“CPU 1分钟平均负载”百分比转换公式为:

“CPU使用率”百分比转换公式为:(1-CPU空闲率)×100%

“内存每秒换入换出量”百分比转换公式为:

“真实网络带宽消耗量”百分比转换公式为:

步骤3,服务器之间真实带宽测量,具体包括:

步骤3.1,读取被测环境中所有服务器的IP信息;

步骤3.2,获取本机IP信息,并以本机IP为源,向服务器IP列表中除本机IP以外的服务器调用网络带宽测试工具iperf执行带宽测试;

步骤3.3,获取网络带宽测试工具iperf返回的测试结果,摘取其中数据保存为CSV格式的文件;

步骤4,实现运维监控工具SiteScope监控,具体包括:

步骤4.1,在运维监控工具SiteScope中创建监控模板,定义资源利用率的参数项,并对模板中所获取的资源占用指标进行运算,将非百分比格式的数据转换为百分比格式;

步骤4.2,使用模板创建资源监控任务;

步骤4.3,导出模板和脚本;

步骤5,固化监控结果分析,具体包括:

步骤5.1,将运维监控工具SiteScope的监控数据的粒度设置为最小;

步骤5.2,对运维监控工具SiteScope的监控数据按场景时间进行筛选,剥离噪音数据;

步骤5.3,使用Analysis图例窗口中的筛选器,筛选出有效、有用的数据项,并进行排序;

步骤5.4,将数据拷贝到Excle中,通过对Measurement列数据的拆分,拆分出服务器名称数据列、指标类别数据列或指标名称数据列;

步骤5.5,利用Excle的数据筛选、排序功能,查看、分析结果数据,并将分析得到的数据表格输出到测试报告。

本技术方案中首先我们需要确定性能测试中针对操作系统需要监控的资源项,并使用Shell脚本实现对这些资源占用数据的采集;其次,为了从系统资源占用结果数据中快速定位资源瓶颈,需要制定一套资源占用率转换机制,以百分比的方式展现所有类别资源占用健康情况;第三,由于被测环境中各服务器之间的真实网络带宽各不相同,需要开发一款工具快速收集到被测环境各服务器之间的真实带宽;第四,为保证Shell脚本所采集数据能够被性能测试工具LoadRunner所使用,需要将此Shell脚本集成到SiteScope,构建一套便于部署和使用的监控模板;最后,针对LoadRunner中通过SiteScope所采集到的资源占用结果数据,需要形成一套行之有效的清洗、整理方法,以得到有效的结果数据,发现系统资源瓶颈。

与现有技术相比,本发明的有益效果是:

本发明利用运维监控工具SiteScope监控,结合LoadRunner对Sitescope的支持,完成了一种便于创建监控内容、易于识别系统资源瓶颈、降低性能测试人员技术要求的性能测试系统资源监控方法。能让性能测试人员花费少量的精力就能获取到被测系统在测试期间的资源消耗,并快速定位到系统资源的瓶颈。

附图说明

图1为本发明一种实施例的系统资源监控与瓶颈识别方法的流程图。

具体实施方式

下面结合附图对本发明作进一步阐述。

如图1所示的一种系统资源监控与瓶颈识别方法,它包括以下步骤:

步骤1,资源占用指标采集,根据业务场景需求,明确需要监控的资源占用指标,所述资源占用指标包括CPU 1分钟平均负载、CPU使用率、内存每秒换入换出量、硬盘繁忙度和真实网络带宽消耗量,所述资源占用指标的采集命令均组织到shell脚本中;对于CPU 1分钟平均负载,选用Linux系统的uptime命令获取;对于CPU使用率,选用vmstat命令获取;对于内存每秒换入换出量,选用sar工具的-BW选项来获取;对于硬盘繁忙度,选用sar工具的-dp选项来获取;对于真实网络带宽消耗量,选用sar工具的-n DEV选项来获取。以上命令或工具所获取的原始信息,通过Linux经典的字符处理工具sed、awk加工后,可以提取到纯净的值,供给SiteScope利用。

步骤2,资源利用率转换,将步骤1中资源占用指标百分比转换,转换公式如下:

“CPU 1分钟平均负载”百分比转换公式为:

“CPU使用率”百分比转换公式为:(1-CPU空闲率)×100%

“内存每秒换入换出量”百分比转换公式为:

“真实网络带宽消耗量”百分比转换公式为:

由于通过sar-dp所获取的硬盘繁忙度已经是百分比形式,因此无需再做转换。

iperf是一个跨平台的网络带宽测试工具,能够较好地测试端对端之间的真实网络带宽,但它无法做到批量采集和记录。所以需要采用步骤3的具体步骤实现批量测试服务器间带宽。

步骤3,服务器之间真实带宽测量,具体包括:

步骤3.1,读取被测环境中所有服务器的IP信息;

步骤3.2,获取本机IP信息,并以本机IP为源,向服务器IP列表中除本机IP以外的服务器调用网络带宽测试工具iperf执行带宽测试;

步骤3.3,获取网络带宽测试工具iperf返回的测试结果,摘取其中数据保存为CSV格式的文件。

步骤4,实现运维监控工具SiteScope监控,具体包括:

步骤4.1,在运维监控工具SiteScope中创建监控模板,定义资源利用率的参数项,并对模板中所获取的资源占用指标进行运算,将非百分比格式的数据转换为百分比格式;

步骤4.2,使用模板创建资源监控任务;

步骤4.3,导出模板和脚本。

性能测试工具LoadRunner通过SiteScope所采集的资源占用率等数据在Analysis中进行查看和分析,但这些原生数据的内容和呈现格式是不便于做瓶颈分析的。为方便测试人员分析结果数据,采用步骤5中的具体方法。

步骤5,固化监控结果分析,具体包括:

步骤5.1,将运维监控工具SiteScope的监控数据的粒度设置为最小;

步骤5.2,对运维监控工具SiteScope的监控数据按场景时间进行筛选,剥离噪音数据;

步骤5.3,使用Analysis图例窗口中的筛选器,筛选出有效、有用的数据项,并进行排序;

步骤5.4,将数据拷贝到Excle中,通过对Measurement列数据的拆分,拆分出服务器名称数据列、指标类别数据列或指标名称数据列;

步骤5.5,利用Excle的数据筛选、排序功能,查看、分析结果数据,并将分析得到的数据表格输出到测试报告。

本发明应用监控结果分析方法整理资源监控数据,找出是什么服务器上的什么系统资源占用率最高,评价这些资源是否已成为被测系统的性能瓶颈。

以上具体实施方式对本发明的实质进行详细说明,但并不能对本发明的保护范围进行限制,显而易见地,在本发明的启示下,本技术领域普通技术人员还可以进行许多改进和修饰,需要注意的是,这些改进和修饰都落在本发明的权利要求保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1