本发明涉及性能测试技术领域,特别涉及一种系统磁盘分析方法和装置。
背景技术:
相对软件的功能测试,软件的性能测试具有更高的专业性和复杂度,性能测试的主要手段是通过模拟真实业务的压力对被测系统进行加压,研究被测系统在不同压力情况下的表现,找出潜在的性能瓶颈。该过程的实现需要经过从测试场景的设计到测试脚本的编写,再到测试环境的配置和测试结果的分析,才能最终实现被测系统的调试与优化。
性能测试具有功能测试所不具备的专业性,性能测试的难度体现在性能测试用例的设计、测试结果的分析等过程,尤其是分析测试结果,分析难度很大,分析过程要求测试人员能够综合应用操作系统、网络、数据库服务器、应用服务器、WEB服务器等软硬件多方面的专业知识,在大量的测试结果数据中进行分析和推理,最终达到验证待测系统能否满足性能需求以及业务需求。即一个性能测试项目的质量如何,跟测试人员的素质、能力和经验是密不可分的。
目前,已经有不少的工具能够完成性能测试,综合利用这些测试工具也能测出比较全面的性能指标数据,但是对于性能测试的测试结果数据的分析,目前还是依靠比较专业的性能测试人员并结合性能测试经验才能够完成,因此在对同样的测试结果进行分析时,可能由于测试人员的不同得出的结论差别较大,可能会将性能优化引向不同的方向。
性能测试结果数据常见的分析指标包括内存、CPU、磁盘,并发用户,响应时间等,其中磁盘最容易出现性能瓶颈,磁盘是计算机系统中表现最慢的子系统之一。
技术实现要素:
鉴于上述问题,本发明提供一种系统磁盘分析方法和装置,以降低性能分析过程中磁盘问题分析与定位的难度,提高性能测试的分析效率和性能测试的质量。
为达到上述目的,本发明的技术方案是这样实现的:
一方面,本发明提供了一种系统磁盘分析方法,该方法包括:
确定待测系统需要测试的相关磁盘参数,以及每种磁盘参数的分析规则;
建立所述相关磁盘参数的分析顺序;
对所述待测系统在各类场景下的磁盘性能测试数据,按照所述相关磁盘参数的分析顺序和每种磁盘参数的分析规则进行磁盘分析,并生成磁盘分析报告。
另一方面,本发明还提供了一种系统磁盘分析装置,该系统磁盘分析装置包括:
磁盘参数确定单元,用于确定待测系统需要测试的相关磁盘参数,以及每种磁盘参数的分析规则;
分析顺序建立单元,用于建立所述相关磁盘参数的分析顺序;
磁盘分析单元,用于对所述待测系统在各类场景下的磁盘性能测试数据,按照所述相关磁盘参数的分析顺序和每种磁盘参数的分析规则进行磁盘分析,并生成磁盘分析报告。
本发明实施例的有益效果是:本发明建立待测系统需要测试的每种相关磁盘参数的分析规则和相关磁盘参数的分析顺序,利用相关磁盘参数的分析顺序和每种磁盘参数的分析规则对待测系统在各类场景下的磁盘性能测试数据进行磁盘分析,能够有效地降低磁盘性能分析过程中磁盘问题分析与定位的难度,从而降低了性能测试的门槛,使更多的测试人员能够胜任性能测试工作;而且能够显著地降低测试人员的工作量,提升性能测试的分析效率和性能测试的质量,缩短性能测试周期,降低性能测试成本。
附图说明
图1为本发明实施例一提供的系统磁盘分析方法的流程图;
图2为本发明实施例二提供的系统磁盘分析方法的流程图;
图3为本发明实施例三提供的系统磁盘分析装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一:
图1为本实施例提供的系统磁盘分析方法的流程图,如图1所示,图1中的方法包括:
S110,确定待测系统需要测试的相关磁盘参数,以及每种磁盘参数的分析规则。
S120,建立相关磁盘参数的分析顺序。
S130,对待测系统在各类场景下的磁盘性能测试数据,按照相关磁盘参数的分析顺序和每种磁盘参数的分析规则进行磁盘分析,并生成磁盘分析报告。
本实施例通过建立的相关磁盘参数的分析顺序和每种相关磁盘参数的分析规则对待测系统的磁盘性能测试数据进行磁盘分析,并生成相应的磁盘分析报告,能够准确分析待测系统磁盘的性能情况,降低性能测试的测试难度,提高性能测试分析的效率和性能测试的质量。
本实施例的方法能够有效地指导系统性能的评估、系统缺陷的定位与分析。
在本实施例的一个优选方案中,步骤S110中待测系统需要测试的相关磁盘参数包括:磁盘读写指令占用的时间百分比Disk Time、以秒计算的磁盘写入数据所需时间Disk sec/Transfer、以秒计算的磁盘写入数据所需的平均时间Average.Disk sec/Transfer以及读取和写入请求的平均数Avg.Disk Queue Length;在实际应用中通常使用sar和/或iostat等I/O命令查询磁盘的相关参数。
则针对上述各磁盘参数的分析规则分为如下:
Disk Time的分析规则为:判断磁盘参数Disk Time值是否满足第一阈值,在Disk Time值不满足第一阈值,且待测系统不存在内存泄露时,确定待测 系统的磁盘存在问题;通常第一阈值设定为55%,在Disk Time值超过55%时,确定待测系统的磁盘可能存在问题。此时本实施例需进一步判断待测系统是否存在内存泄露的问题,若待测系统不存在内存泄露问题,则确定待测系统的磁盘存在问题。例如,可以通过判断系统参数特权模式下处理线程占用的时间百分比Processor%Privileged Time,即判断Processor%Privileged Time值是否满足第四阈值,在Disk Time值不满足第一阈值时,若该Processor%Privileged Time值亦不满足第四阈值,确定待测系统存在内存泄露;若该Processor%Privileged Time值满足第四阈值,确定待测系统的磁盘存在问题。本实施例中设定第四阈值为80%,若Disk Time值大于55%,且Processor%Privileged Time值持续大于80%,则确定待测系统存在内存泄露。
Disk sec/Transfer的分析规则为:判断磁盘参数Disk sec/Transfer值是否满足第二阈值,在Disk sec/Transfer值不满足第二阈值时,确定待测系统的磁盘可能存在问题;通常第二阈值设定为60ms,在Disk sec/Transfer值持续超过60ms时,确定待测系统的磁盘存在问题。
Average.Disk sec/Transfer的分析规则为:判断磁盘参数Average.Disk sec/Transfer值是否满足第三阈值,在Average.Disk sec/Transfer值不满足第三阈值时,确定待测系统的磁盘存在磁盘碎片;通常第三阈值设定为18ms,在Average.Disk sec/Transfer值超过18ms时,确定待测系统的磁盘存在磁盘碎片。
Avg.Disk Queue Length的分析规则为:判断磁盘参数Avg.Disk Queue Length值是否大于设定值,在Avg.Disk Queue Length大于设定值时,确定待测系统需要增加磁盘;该设定值为待测系统磁盘个数的1.5倍。
则基于上述各磁盘参数的分析规则分,步骤S120中的建立相关磁盘参数的分析顺序具体为:
根据Disk Time的分析规则、Disk sec/Transfer的分析规则、Average.Disk sec/Transfer和Avg.Disk Queue Length的分析规则依次分析磁盘参数Disk Time、Disk sec/Transfer、Average.Disk sec/Transfer和Avg.Disk Queue Length。
进而步骤S130中生成磁盘分析报告具体为:
在确定待测系统的磁盘存在问题时,将不满足第一阈值的磁盘参数Disk Time值记录在磁盘分析报告中,以及将不满足第二阈值的磁盘参数Disk sec/Transfer值记录在磁盘分析报告中;
在确定待测系统的磁盘存在磁盘碎片时,将不满足第三阈值的磁盘参数Average.Disk sec/Transfer值记录在磁盘分析报告中;
在确定待测系统需要增加磁盘时,将大于设定值的磁盘参数Avg.Disk Queue Length值记录在磁盘分析报告中。
即在根据该分析顺序对待测系统在各类场景下的磁盘性能测试数据进行磁盘分析时,首先分析磁盘参数Disk Time,再分析磁盘参数Disk sec/Transfer,然后分析磁盘参数Average.Disk sec/Transfer,最后分析磁盘参数Avg.Disk Queue Length;在分析完磁盘参数Avg.Disk Queue Length后,结束该次磁盘分析,并生成相应的磁盘分析报告;该磁盘分析报告中记录有:待测系统的磁盘存在问题时不满足第一阈值的磁盘参数Disk Time值,以及不满足第二阈值的磁盘参数Disk sec/Transfer值;待测系统的磁盘存在磁盘碎片时不满足第三阈值的磁盘参数Average.Disk sec/Transfer值;待测系统需要增加磁盘时大于设定值的磁盘Avg.Disk Queue Length值。
实施例二:
本实施例采用与实施例一相同的技术方案对待测系统进行磁盘分析。
如图2所示,图2为本实施例提供的系统磁盘分析方法的流程图,该系统磁盘分析方法的具体流程如下:
S210,确定待测系统的磁盘分析模型,即确定待测系统需要测试的相关磁盘参数,以及每种磁盘参数的分析规则,建立相关磁盘参数的分析顺序。
本步骤中确定的相关磁盘参数包括Disk Time、Processor%Privileged Time、Disk sec/Transfer、Average.Disk sec/Transfer和Avg.Disk Queue Length。
其中,第一阈值为55%,第四阈值为80%,即当待测系统在执行业务过程中,磁盘参数Disk Time值超过90%,且Processor%Privileged Time值未持续超过80%时,确定待测系统的磁盘存在问题。
第二阈值为60ms,即当待测系统在执行业务过程中,磁盘参数Disk sec/Transfer值持续超过60ms时,确定待测系统的磁盘存在问题。
第三阈值为18ms,即当待测系统在执行业务过程中,磁盘参数 Average.Disk sec/Transfer值超过18ms时,确定待测系统的磁盘存在磁盘碎片。
S220,获取待测系统在各类场景下的磁盘性能测试数据。
在本步骤中可以通过下述方法获取待测系统在各类场景下的磁盘性能测试数据:
根据用户的性能测试需求搭建真实反映待测系统实际运行环境的测试环境;
选取磁盘测试所需的测试工具;
确定所述待测系统在各类场景下的测试环境参数和压力测试的测试压力参数。
根据待测系统在各类场景下的测试环境参数和压力测试的测试压力参数,利用选取的测试工具对待测系统进行压力测试,收集各类场景下的磁盘性能测试数据。
S231,读取待测系统的磁盘参数Disk Time系列值。
S232,判断待测系统在执行业务过程中,其Disk Time值是否持续超过55%,若持续超过则执行步骤S233,否则执行步骤S241。
S233,确定待测系统的磁盘可能存在问题,执行步骤S234。
S234,读取待测系统的参数Processor%Privileged Time系列值。
S235,判断待测系统在执行业务过程中,其Processor%Privileged Time值是否持续超过80%,若未持续超过则执行步骤S236,否则执行步骤S237。
S236,确定待测系统的磁盘存在问题,并将持续大于55%的磁盘参数Disk Time值记录在磁盘分析报告中,执行步骤S241。
在本步骤中,也可以将持续大于55%的磁盘参数Disk Time值对应的参数Processor%Privileged Time值记录在磁盘分析报告中。
S237,确定待测系统存在内存泄露,并将持续大于55%的磁盘参数Disk Time值和相应的Processor%Privileged Time值记录在磁盘分析报告中,执行步骤S241。
S241,读取待测系统的Disk sec/Transfer系列值。
S242,判断待测系统在执行业务过程中,Disk sec/Transfer值是否持续超 过60ms,若持续超过则执行步骤S243,否则执行步骤S251。
S243,确定待测系统的磁盘存在问题,并将持续超过60ms的磁盘参数Disk sec/Transfer值记录在磁盘分析报告中,执行步骤S251。
S251,读取待测系统的Average.Disk sec/Transfer系列值。
S252,判断待测系统在执行业务过程中,Average.Disk sec/Transfer值是否超过18ms,若持续超过则执行步骤S253,否则执行步骤S261。
S253,确定待测系统的磁盘存在磁盘碎片,并将超过18ms的磁盘参数Average.Disk sec/Transfer值记录在磁盘分析报告中,执行步骤S261。
S261,读取待测系统的Avg.Disk Queue Length系列值。
S262,判断待测系统是否需要增加磁盘,即判断待测系统在加载业务过程中,其Avg.Disk Queue Length值是否大于设定值,若大于则执行步骤S263,否则执行步骤S270。
S263,确定待测系统需要增加磁盘,并将大于设定值的磁盘参数Avg.Disk Queue Length值记录在磁盘分析报告中,执行步骤S270。
S270,输出生成的磁盘分析报告,结束该次磁盘分析。
在本实施例的一个具体实现中,预先建立用于分析系统多种分析指标(如系统的磁盘)的分析工具,可以通过建立用于配置各种模型的框架,使该框架能够按照其配置的相应的模型对数据进行分析处理,利用软件编程技术将该框架工具化,获得所需的分析工具。
在获得所需的分析工具后,将本实施例的磁盘分析模型配置到该分析工具中,利用配置有磁盘分析模型的工具对各场景下的磁盘性能测试数据进行分析处理,分析处理完成后输出磁盘分析报告。
本实施例的方法不但能够提高性能数据的分析效率、降低性能测试人员的工作量、缩短性能测试周期、降低性能测试中磁盘分析的难度,提升定位磁盘性能瓶颈的准确度;还能够降低性能测试的专业门槛,使更多的测试人员能够胜任性能测试工作,从而降低性能测试成本。
实施例三:
基于与实施例一相同的技术构思,本实施例提供了一种系统磁盘分析装置。
图3为本实施例提供的系统磁盘分析装置的结构示意图,如图3所示,图3中的系统磁盘分析装置包括:磁盘参数确定单元31、分析顺序建立单元32和磁盘分析单元33。
磁盘参数确定单元31,用于确定待测系统需要测试的相关磁盘参数,以及每种磁盘参数的分析规则。
分析顺序建立单元32,用于建立相关磁盘参数的分析顺序。
磁盘分析单元33,用于对待测系统在各类场景下的磁盘性能测试数据,按照相关磁盘参数的分析顺序和每种磁盘参数的分析规则进行磁盘分析,并生成磁盘分析报告。
在本实施例的优选方案中,磁盘参数确定单元31确定待测系统需要测试的相关磁盘参数包括:磁盘读写指令占用的时间百分比Disk Time、以秒计算的磁盘写入数据所需时间Disk sec/Transfer、以秒计算的磁盘写入数据所需的平均时间Average.Disk sec/Transfer以及读取和写入请求的平均数Avg.Disk Queue Length。
其中,Disk Time的分析规则为:判断磁盘参数Disk Time值是否满足第一阈值,在Disk Time值不满足第一阈值,且所述待测系统不存在内存泄露时,确定待测系统的磁盘存在问题;
Disk sec/Transfer的分析规则为:判断磁盘参数Disk sec/Transfer值是否满足第二阈值,在Disk sec/Transfer值不满足第二阈值时,确定待测系统的磁盘存在问题;
Average.Disk sec/Transfer的分析规则为:判断磁盘参数Average.Disk sec/Transfer值是否满足第三阈值,在Average.Disk sec/Transfer值不满足第三阈值时,确定待测系统的磁盘存在磁盘碎片;
Avg.Disk Queue Length的分析规则为:判断磁盘参数Avg.Disk Queue Length值是否大于设定值,在Avg.Disk Queue Length大于设定值时,确定待测系统需要增加磁盘;该设定值为待测系统磁盘个数的1.5倍。
本实施例优选地,图3中的系统磁盘分析装置还包括辅助判断单元,该辅助判断单元,用于判断特权模式下处理线程占用的时间百分比Processor%Privileged Time值是否满足第四阈值。
则Disk Time的分析规则进一步为:
在Disk Time值不满足第一阈值时,若辅助判断单元判断Processor%Privileged Time值不满足第四阈值,确定待测系统存在内存泄露;若辅助判断单元判断Processor%Privileged Time值满足第四阈值,确定待测系统的磁盘存在问题。
分析顺序建立单元32,具体用于根据Disk Time的分析规则、Disk sec/Transfer的分析规则、Average.Disk sec/Transfer和Avg.Disk Queue Lengthe的分析规则依次分析磁盘参数Disk Time、Disk sec/Transfer、Average.Disk sec/Transfer和Avg.Disk Queue Lengthe。
则磁盘分析单元33包括磁盘分析报告生成模块;
该磁盘分析报告生成模块,用于在确定待测系统的磁盘存在问题时,将不满足第一阈值的磁盘参数Disk Time的当前值记录在磁盘分析报告中;以及将不满足第二阈值的磁盘参数Disk sec/Transfer的当前值记录在磁盘分析报告中;
在确定待测系统的磁盘存在磁盘碎片时,将不满足第三阈值的磁盘参数Average.Disk sec/Transfer的当前值记录在磁盘分析报告中;
在确定所述待测系统需要增加磁盘时,将大于设定值的磁盘参数Avg.Disk Queue Length的当前值记录在磁盘分析报告中
综上所述,本发明公开了一种系统磁盘分析方法和装置,建立待测系统需要测试的每种相关磁盘参数的分析规则和相关磁盘参数的分析顺序,利用相关磁盘参数的分析顺序和每种磁盘参数的分析规则对待测系统在各类场景下的磁盘性能测试数据进行磁盘分析,能够有效地降低磁盘性能分析过程中磁盘问题分析与定位的难度,从而降低了性能测试的门槛,使更多的测试人员能够胜任性能测试工作;而且能够显著地降低测试人员的工作量,提升性能测试的分析效率和性能测试的质量,缩短性能测试周期,降低性能测试成本。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。