CN114049909A - 硬盘性能自动化测试方法、装置、电子设备及存储介质 - Google Patents

硬盘性能自动化测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114049909A
CN114049909A CN202111359630.4A CN202111359630A CN114049909A CN 114049909 A CN114049909 A CN 114049909A CN 202111359630 A CN202111359630 A CN 202111359630A CN 114049909 A CN114049909 A CN 114049909A
Authority
CN
China
Prior art keywords
hard disk
tested
test
automatically
fan
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.)
Pending
Application number
CN202111359630.4A
Other languages
English (en)
Inventor
张迎华
蒲嘉鹏
毕建华
董家宽
顾峰
罗春风
孙长安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Controllable Information Industry Co Ltd
Original Assignee
Zhongke Controllable Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongke Controllable Information Industry Co Ltd filed Critical Zhongke Controllable Information Industry Co Ltd
Priority to CN202111359630.4A priority Critical patent/CN114049909A/zh
Publication of CN114049909A publication Critical patent/CN114049909A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本申请涉及一种硬盘性能自动化测试方法、装置、电子设备及存储介质,属于计算机技术领域。该方法包括自动获取测试机的待测硬盘清单;将BMC的风扇电源管理模式自动修改为手动模式,并根据预设风扇转速配置文件对应自动调整风扇的转速;针对待测硬盘清单中的每一个待测硬盘,根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件,并基于测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果。通过将风扇转动产生的震动考虑在内,也即将硬盘震动对硬盘性能的影响考虑在内,从而能准确反映出硬盘的读写效率,同时可自动生成对应的测试配置文件,能减少测试所需的需要事先配置的配置文件的数量,提高测试效率。

Description

硬盘性能自动化测试方法、装置、电子设备及存储介质
技术领域
本申请属于计算机技术领域,具体涉及一种硬盘性能自动化测试方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的快速发展,信息化、大数据及云计算的发展对服务器性能要求越来越高。服务器在使用过程中产生的大量重要数据都存储于服务器上的硬盘中,所以硬盘性能的好坏将直接影响服务器的性能。这样就使得许多服务器厂商都在不断改进对硬盘性能测试的方法,提高测试的准确性及质量。
目前的硬盘性能测试大多都是压力测试,例如,利用fio工具对硬盘进行压力测试,虽然这种测试方式对于验证硬盘的稳定性和可靠性起到了至关重要的作用,但是该方式无法准确反映出硬盘在复杂环境下的读写效率。
发明内容
鉴于此,本申请的目的在于提供一种硬盘性能自动化测试方法、装置、电子设备及存储介质,以改善现有测试方式无法准确反映出硬盘的读写效率的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种硬盘性能自动化测试方法,包括:自动获取测试机的待测硬盘清单;将BMC的风扇电源管理模式自动修改为手动模式,并根据预设风扇转速配置文件对应自动调整风扇的转速;针对所述待测硬盘清单中的每一个待测硬盘,根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件,并基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果。本申请实施例中,在硬盘性能测试时,通过将风扇转动产生的震动考虑在内,风扇转动时产生的震动会使硬盘震动,也即将硬盘震动对硬盘性能的影响考虑在内,从而能准确反映出硬盘的读写效率,同时,测试过程中可以自动生成对应的测试配置文件,这样可以极大的减少测试所需的需要事先配置的配置文件的数量,提高测试效率。
结合第一方面实施例的一种可能的实施方式,所述预设风扇转速配置文件包含多个大小不同的转速;所述根据预设风扇转速配置文件对应自动调整风扇的转速,包括:根据所述预设风扇转速配置文件中的多个转速,按照从小到大的顺序顺次对应自动调整风扇的风扇转速;其中,在每完成当前转速下每一个待测硬盘的性能测试时,对应将所述风扇的风扇转速从所述当前转速自动调整至下一个转速,直至遍历完所有的转速。本申请实施例中,通过预设多个大小不同的转速(不同的转速对应的震动不同),在调速时,按照从小到大的顺序顺次对应自动调整风扇的风扇转速,在每完成当前转速下每一个待测硬盘的性能测试时,对应将风扇的风扇转速从所述当前转速自动调整至下一个转速,直至遍历完所有的转速,这样可以测试不同风扇转速下对硬盘性能的影响。
结合第一方面实施例的一种可能的实施方式,基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果,包括:基于所述测试配置文件对调整后的转速下该待测硬盘各进行预设次数的第一预设大小随机写和第二预设大小顺序写操作测试,自动获取每一次第一预设大小随机写的测试数据以及第二预设大小顺序写的测试数据。本申请实施例中,同时对待测硬盘各进行预设次数的第一预设大小随机写和第二预设大小顺序写操作测试,以测试调整后的转速下不同写模式的性能影响。
结合第一方面实施例的一种可能的实施方式,所述测试数据包括IOPS和硬盘传输带宽;在所述得到测试结果之后,所述方法还包括:基于每个待测硬盘的测试结果,自动生成测试报告,其中,所述测试报告包含每个待测硬盘在各个风扇转速下每一次第一预设大小随机写的IOPS和硬盘传输带宽以及第二预设大小顺序写的IOPS和硬盘传输带宽,每个待测硬盘在各个风扇转速下所述预设次数的第一预设大小随机写的IOPS均值和硬盘传输带宽均值以及第二预设大小顺序写的IOPS均值和硬盘传输带宽均值,每个待测硬盘在最低风扇转速下的第一预设大小随机写的IOPS均值与剩余各个风扇转速下的第一预设大小随机写的IOPS均值的衰减率、第一预设大小随机写的硬盘传输带宽均值的衰减率、第二预设大小顺序写的IOPS均值的衰减率、第二预设大小顺序写的硬盘传输带宽均值的衰减率。本申请实例中,通过将系统在最低风扇转速下的第一预设大小随机写的IOPS均值、第一预设大小随机写的硬盘传输带宽均值、第二预设大小顺序写的IOPS均值、第二预设大小顺序写的硬盘传输带宽均值作为基准测试,以此来获得剩余各个风扇转速下的第一预设大小随机写的IOPS均值的衰减率、第一预设大小随机写的硬盘传输带宽均值的衰减率、第二预设大小顺序写的IOPS均值的衰减率、第二预设大小顺序写的硬盘传输带宽均值的衰减率;这样可以验证风扇是否设计合理,通过该方式来找出服务器研发设计中对硬盘保护不足的设计,提升产品质量和客户满意度,避免风扇设计不合理,导致服务器硬盘故障率较高的问题。
结合第一方面实施例的一种可能的实施方式,所述预设的测试配置参数包括:固定测试配置参数和需要动态设置的硬盘读写方式(rw)、单次读写的数据大小(bs)及硬盘编号(sdx);根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件,包括:自动将所述硬盘编号的值赋值为该待测硬盘的编号,并根据测试需求自动对所述硬盘读写方式、所述单次读写的数据大小进行赋值;根据所述固定测试配置参数和赋值后的所述硬盘读写方式、所述单次读写的数据大小及所述硬盘编号生成对应的测试配置文件。本申请实施例中,通过设置一些通用的测试配置参数,而对于一些需要修改的个性化参数(如上述的sdx、rw、bs)可以不设置(赋值),自动化程序会自动根据程序设定来动态赋值,之后基于固定测试配置参数和赋值后的个性化参数自动生成对应的测试配置文件,这样可以极大的减少测试所需的需要事先配置的配置文件的数量,提高测试效率。
结合第一方面实施例的一种可能的实施方式,获取待测硬盘清单,包括:获取所述测试机的所有硬盘清单;从所述所有硬盘清单中自动剔除固态硬盘和系统盘,得到所述待测硬盘清单。本申请实施例中,由于固态硬盘的读写不受机械震动的影响,因此在测试时,将固态硬盘自动剔除,同时为了避免测试引起宕机,将系统盘也自动剔除。
结合第一方面实施例的一种可能的实施方式,所述待测硬盘的性能包括写性能,所述基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试之前,所述方法还包括:将该待测硬盘的写缓存功能自动关闭。本申请实施例中,测试时,将待测硬盘的写缓存功能自动关闭,这样在写数据时,可以跳过待测机自带的缓存,直接对硬盘写操作,可以更准确的反映出不同风扇转速下对硬盘写性能的影响。
结合第一方面实施例的一种可能的实施方式,在所述得到测试结果之后,所述方法还包括:将所述测试机在测试时所修改的设置自动恢复到测试前的设置,其中包括将所述BMC的风扇电源管理模式从所述手动模式自动恢复为自动模式。本申请实施例中,在测试完成后,通过将测试机在测试时所修改的设置自动恢复到测试前的设置,防止对测试机的正常使用带来影响。
第二方面,本申请实施例还提供了一种硬盘性能自动化测试装置,包括:获取模块、设置模块以及测试模块。获取模块,用于自动获取测试机的待测硬盘清单;设置模块,用于将BMC的风扇电源管理模式自动修改为手动模式,并根据预设风扇转速配置文件对应自动调整风扇的转速;测试模块,用于针对所述待测硬盘清单中的每一个待测硬盘,根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件,并基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果。
第三方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本申请实施例提供的一种硬盘性能自动化测试方法的流程示意图。
图2示出了本申请实施例提供的又一种硬盘性能自动化测试方法的流程示意图。
图3示出了本申请实施例提供的一种硬盘性能自动化测试装置的模块示意图。
图4示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
发明人在研发本申请的过程中发现,硬盘在进行读写时,硬盘碟片高速旋转产生的旋转气流会使磁头漂浮在碟片上方,当机械臂横向水平移动读取数据时,在旋转气流的作用下会产生扭矩造成机械臂的自身振动,进而会降低硬盘自身的读写效率。此外,当外界有较大振动传递到硬盘内部,或者,较小振动但能够与硬盘自身发生共振,也会造成硬盘内部振动加剧,进而也会降低硬盘自身的读写效率。针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
因此,本申请实施例提供了一种硬盘性能自动化测试方法,以解决现有压力测试无法准确反映出硬盘的读写效率的问题。本申请实施例中,通过将风扇转动产生的震动考虑在内,也即将硬盘震动对硬盘性能的影响考虑在内,从而能准确反映出硬盘的读写效率,此外,还可以发现服务器研发设计中对硬盘保护不足的地方,从而加以改进,以提升产品质量和客户满意度。
下面将结合图1,对本申请实施例提供的硬盘性能自动化测试方法进行说明。
S1:自动获取测试机的待测硬盘清单。
在需要对测试机的硬盘性能进行测试时,获取测试机的待测硬盘清单。一种实施方式下,该待测硬盘清单可以是事先获取的,如事先获取后保存在数据库中,待需要使用时,直接从数据库中获取即可。又一种可选实施方式下,可以是在对测试机的硬盘性能进行测试时才获取的。
其中,测试机可以是服务器。
可选地,获取待测硬盘清单的过程可以是:首先获取测试机的所有硬盘清单,然后从所有硬盘清单中自动剔除固态硬盘和系统盘,得到待测硬盘清单,也即待测硬盘清单可以是从所有硬盘清单中自动剔除固态硬盘和系统盘后剩余的硬盘清单。例如,自动化程序通过linux系统的lsscsi命令读取系统的硬盘清单,然后通过smartmontools(开源的硬盘检测工具)来读取硬盘信息并配合筛选参数来判断硬盘是否为固态硬盘,然后将固态硬盘从硬盘清单中移除,之后通过linux系统的lsblk命令并配合boot关键字来筛选系统盘,然后将系统盘从硬盘清单中移除,剩余的硬盘清单则为待测硬盘清单。
需要说明的是,在执行本申请提供的硬盘性能自动化测试方法时,系统需要安装测试所需的测试工具,例如Python3工具(用于提供测试所需的测试环境)、hdparm工具(用于关闭或恢复硬盘写缓存功能)、fio工具(用于读写测试)、ipmitool工具(用于控制BMC(Baseboard Manager Controller,基板控制器)的风扇电源管理模式和转速控制)、smartmontools(用于读取硬盘信息,判断硬盘类型(机械硬盘或固态硬盘))等。在执行本申请提供的硬盘性能自动化测试方法时,自动化程序会检测系统中是否安装有测试所需的测试工具,如未安装,则会自动调用这些测试工具对应的程序安装脚本来安装所需的测试工具。
S2:将BMC的风扇电源管理模式自动修改为手动模式,并根据预设风扇转速配置文件对应自动调整风扇的转速。
为了保证测试时风扇是按照所需的转速进行转动,需要将将BMC的风扇电源管理模式自动修改为手动模式,然后根据预设风扇转速配置文件对应自动调整风扇的转速。
一种实施方式下,自动化程序可以是通过ipmitool工具将BMC的风扇电源管理模式修改为手动模式,然后根据预设风扇转速配置文件通过ipmitool工具来控制BMC来调整风扇的转速,调整后程序会等待一段时间,如2分钟,等风扇转速和气流稳定后再执行后续操作。例如,自动化程序通过调用ipmitool工具执行命令(ipmitool raw 0x3a 0x0b 0 00x1e)可以将BMC的风扇电源管理模式修改为手动模式。在BMC的风扇电源管理模式为手动模式下,自动化程序通过调用ipmitool工具执行命令(ipmitool raw 0x3a 0x0d 0xff转速)来对应调整风扇的转速。例如,若命令中的转速为20%(占空比),此时命令为ipmitoolraw 0x3a 0x0d 0xff 20,则对应调整风扇的转速为20%。
其中,测试风扇所需的转速数据保存在配置文件中,自动化程序会自动读取这些数值并根据程序执行需求来设置风扇转速。可以设置多个不同的转速占空比,如为[20,30,40,50,60,70,80,90,100]。配置文件中的风扇转速,使用者可以根据实际需求来更改,同时一旦使用者设置的转速超出BMC控制的范围,自动化程序会提醒使用者重新设定转速。
可选地,预设风扇转速配置文件中包含多个大小不同的转速;根据预设风扇转速配置文件对应自动调整风扇的转速的过程可以是:根据预设风扇转速配置文件中的多个转速,按照从小到大的顺序顺次对应自动调整风扇的风扇转速。其中,在每完成当前转速下每一个待测硬盘的性能测试时,对应将风扇的风扇转速从当前转速自动调整至下一个转速,直至遍历完所有的转速。例如,假设预设风扇转速配置文件中包含三个转速,分别为转速1、转速2、转速3,且转速1小于转速2小于转速3,则刚开始自动调整风扇的转速为转速1,在完成转速1下每一个待测硬盘的性能测试后,再将风扇的转速自动调整为转速2,在完成转速2下每一个待测硬盘的性能测试后,再将风扇的转速自动调整为转速3,直至遍历完所有的转速。
S3:针对所述待测硬盘清单中的每一个待测硬盘,根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件,并基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果。
针对待测硬盘清单中的每一个待测硬盘,自动化程序根据该待测硬盘和预设的测试配置参数动态自动生成对应的测试配置文件,然后基于测试配置文件对调整后的转速下该待测硬盘的性能进行测试,便可得到测试结果。例如,自动化程序会根据上面获取的待测硬盘清单,以及预设的测试配置参数自动生成对应的测试配置文件,通过fio工具执行该测试配置文件来对调整后的转速下该待测硬盘的性能进行测试,fio工具每次执行结束后对测试日志解析并保存该次测试结果。
可选地,预设的测试配置参数包括:固定测试配置参数和需要动态设置的硬盘读写方式(rw)、单次读写的数据大小(bs)及硬盘编号(sdx);根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件的过程可以是:自动将硬盘编号的值赋值为该待测硬盘的编号,并根据测试需求自动对硬盘读写方式、单次读写的数据大小进行赋值;根据固定测试配置参数和赋值后的硬盘读写方式、单次读写的数据大小及硬盘编号生成对应的测试配置文件。
为了便于理解,下面结合例子进行说明,一种实施方式下,预设的测试配置参数主要包含以下内容:
全局设定:
ioengine=libaio#fio使用的io引擎,默认为libaio;
rw=#硬盘读写方式,一般为随机写randwrite或顺序写write,根据需要填写;
bs=#单次io块的大小,一般为第一预设大小(如4k)或第二预设大小(如256k),根据需要填写;
direct=1#绕过机器自带的缓冲,直接读写;
iodepth=8#设定的io队列深度,仅对异步io有用;
runtime=120#指定测试时间为120秒;
refill_buffers#强制重新填写读写缓存;
time_based#设置基于时间测试;
thread#使用pthread_create创建线程;
randrepeat=0#表示每次重复执行生成的序列都一样;
norandommap#指定fio每次获取一个新的随机offset;
ramp_time=30#fio等待30秒后运行;
new_group#按组显示结果;
group_reporting#显示结果,汇总每个进程的信息;
name=fio testing...#job名,输出信息的名字;
待测硬盘
[sdx]
Filename=/dev/sdx#待测硬盘盘符,x为硬盘的编号,根据需要填写。
其中,上述的rw可设为随机写randwrite或顺序写write,bs为io块的大小,可设为第一预设大小,如4K或第二预设大小,如256K,这两个选项自动化程序会自动根据程序设定来动态设置。待测硬盘sdx也是根据前面获取的硬盘清单来动态生成。自动化程序会动态的将这些设定保存为一个名为config的配置文件里面,通过调用fio工具执行fio config命令就可以启动fio执行测试。
本申请实施例中,通过设置一些通用(固定)测试配置参数(如上述预设的测试配置参数中除sdx、rw、bs外的参数),而对于一些需要修改的个性化参数(如上述的sdx、rw、bs)可以不设置(赋值),自动化程序会自动根据程序设定来动态设置,并自动生成对应的测试配置文件,这样可以极大的减少测试所需的需要事先配置的配置文件的数量,提高测试效率。例如,若是要对待测硬盘1进行顺序写操作测试,则将rw设置为顺序写,将bs设置为第二预设大小,将sdx中的x设置为1,之后基于赋值后的个性化参数和固定测试配置参数,便可自动生成对应的测试配置文件,之后便可利用测试配置文件对待测硬盘1进行顺序写测试。
一种实施方式下,上述待测硬盘的性能测试可以是指测试待测硬盘的读写性能,由于读数据所需的时间相对于写数据所需的时间来说,会小很多,因此,一种实施方式下,上述待测硬盘的性能测试可以是指测试待测硬盘的写性能。其中,在进行写性能测试时,可以是进行第一预设大小,如4k随机写测试,也可以是第二预设大小,如256K顺序写测试,当然还可以是第一预设大小,如4k随机写和第二预设大小,如256K顺序写均测试。需要说明的是,第一预设大小并不限于4k,如还可以是8k等,同理,第二预设大小,并不限于256k,例如,还可以是512k等。
可选地,基于测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果的过程可以是:基于测试配置文件对调整后的转速下该待测硬盘各进行预设次数(如为10次)的4k随机写和256K顺序写操作测试,得到每一次4k随机写的测试数据以及256K顺序写的测试数据。例如,对于每一个待测硬盘,在每一个风扇转速下,fio工具均会执行4k随机写和256K顺序写操作10次。fio工具执行次数默认为10,用户也可以自己在程序执行时指定运行次数。每一次执行后会把测试结果保存在log文件中,同时自动化程序会从该log文件中提取该次测试的IOPS(Input Output Per Second,每秒进行读写操作的次数)和硬盘传输带宽(bw),并保存在json文件中,以便于后续用于自动生成测试报告。
其中,测试数据包括IOPS和硬盘传输带宽;在得到测试结果之后,硬盘性能自动化测试方法还包括:基于每个待测硬盘的测试结果,自动生成测试报告。其中,测试报告包含每个待测硬盘在各个风扇转速下每一次4k随机写的IOPS和硬盘传输带宽以及256K顺序写的IOPS和硬盘传输带宽,每个待测硬盘在各个风扇转速下预设次数的4k随机写的IOPS均值和硬盘传输带宽均值以及256K顺序写的IOPS均值和硬盘传输带宽均值,每个待测硬盘在最低风扇转速下的4k随机写的IOPS均值与剩余各个风扇转速下的4k随机写的IOPS均值的衰减率、4k随机写的硬盘传输带宽均值的衰减率、256K顺序写的IOPS均值的衰减率、256K顺序写的硬盘传输带宽均值的衰减率。
为了便于理解,以预设风扇转速配置文件中包含三个转速,分别为转速1、转速2、转速3,且转速1小于转速2小于转速3;待测硬盘清单包含2个待测硬盘分别为硬盘1、硬盘2为例,则测试报告中包括:
转速1下:硬盘1进行10次4k随机写的IOPS和硬盘传输带宽、硬盘1进行10次4k随机写的IOPS均值和硬盘传输带宽均值、硬盘1进行10次256k顺序写的IOPS和硬盘传输带宽、硬盘1进行10次256k顺序写的IOPS均值和硬盘传输带宽均值;硬盘2进行10次4k随机写的IOPS和硬盘传输带宽、硬盘2进行10次4k随机写的IOPS均值和硬盘传输带宽均值、硬盘2进行10次256k顺序写的IOPS和硬盘传输带宽、硬盘2进行10次256k顺序写的IOPS均值和硬盘传输带宽均值。
转速2下:硬盘1进行10次4k随机写的IOPS和硬盘传输带宽、硬盘1进行10次4k随机写的IOPS均值和硬盘传输带宽均值、硬盘1进行10次256k顺序写的IOPS和硬盘传输带宽、硬盘1进行10次256k顺序写的IOPS均值和硬盘传输带宽均值;硬盘2进行10次4k随机写的IOPS和硬盘传输带宽、硬盘2进行10次4k随机写的IOPS均值和硬盘传输带宽均值、硬盘2进行10次256k顺序写的IOPS和硬盘传输带宽、硬盘2进行10次256k顺序写的IOPS均值和硬盘传输带宽均值。
转速3下:硬盘1进行10次4k随机写的IOPS和硬盘传输带宽、硬盘1进行10次4k随机写的IOPS均值和硬盘传输带宽均值、硬盘1进行10次256k顺序写的IOPS和硬盘传输带宽、硬盘1进行10次256k顺序写的IOPS均值和硬盘传输带宽均值;硬盘2进行10次4k随机写的IOPS和硬盘传输带宽、硬盘2进行10次4k随机写的IOPS均值和硬盘传输带宽均值、硬盘2进行10次256k顺序写的IOPS和硬盘传输带宽、硬盘2进行10次256k顺序写的IOPS均值和硬盘传输带宽均值。
硬盘1:转速2下的4k随机写的IOPS均值相当于转速1下的4k随机写的IOPS均值的衰减率、转速2下的4k随机写的硬盘传输带宽均值相当于转速1下的4k随机写的硬盘传输带宽均值的衰减率、转速3下的4k随机写的IOPS均值相当于转速1下的4k随机写的IOPS均值的衰减率、转速3下的4k随机写的硬盘传输带宽均值相当于转速1下的4k随机写的硬盘传输带宽均值的衰减率。
硬盘2:转速2下的4k随机写的IOPS均值相当于转速1下的4k随机写的IOPS均值的衰减率、转速2下的4k随机写的硬盘传输带宽均值相当于转速1下的4k随机写的硬盘传输带宽均值的衰减率、转速3下的4k随机写的IOPS均值相当于转速1下的4k随机写的IOPS均值的衰减率、转速3下的4k随机写的硬盘传输带宽均值相当于转速1下的4k随机写的硬盘传输带宽均值的衰减率。
通过将系统在最低风扇转速下的4k随机写的IOPS均值、4k随机写的硬盘传输带宽均值、256K顺序写的IOPS均值、256K顺序写的硬盘传输带宽均值作为基准测试,以此来获得剩余各个风扇转速下的4k随机写的IOPS均值的衰减率、4k随机写的硬盘传输带宽均值的衰减率、256K顺序写的IOPS均值的衰减率、256K顺序写的硬盘传输带宽均值的衰减率。这样可以验证风扇是否设计合理,通过该方式来找出服务器研发设计中对硬盘保护不足的设计,提升产品质量和客户满意度,避免风扇设计不合理,导致服务器硬盘故障率较高的问题。
可选地,一种实施方式下,在基于测试配置文件对调整后的转速下该待测硬盘的性能进行测试之前,硬盘性能自动化测试方法还包括:将待测硬盘的写缓存功能自动关闭。例如,自动化程序调用hdparm工具来将待测硬盘清单中的硬盘的写缓存功能关闭。通过如下命令hdparm-W0/dev/sdx可以调用hdparm工具来将待测硬盘清单中的硬盘x的写缓存功能关闭,其中,x为待测硬盘的编号。
可选地,在得到测试结果之后,硬盘性能自动化测试方法还包括:将测试机在测试时所修改的设置自动恢复到测试前的设置,其中包括将BMC的风扇电源管理模式从手动模式自动恢复为自动模式。若在测试的过程中,将待测硬盘的写缓存功能自动关闭,则在将测试机在测试时所修改的设置自动恢复到测试前的设置时,还包括将自动关闭的待测硬盘的写缓存功能自动恢复。例如,所有的测试完成后,可以通过ipmitool工具将BMC的风扇电源管理模式从手动模式恢复为自动模式,可以通过hdparm工具来将待测硬盘清单中的硬盘的写缓存功能恢复,也即打开写缓存功能。
一种可选实施方式下,上述的硬盘性能自动化测试方法的流程示意图如图2所示,测试开始时,首先检测系统中是否安装测试所需的测试工具,若未安装,则安装所需的测试工具,之后获取待测测试机的待测硬盘清单,将BMC的风扇电源管理模式自动修改为手动模式,并根据预设风扇转速配置文件对应自动调整风扇的转速;针对待测硬盘清单中的每一个待测硬盘,将该待测硬盘的写缓存功能自动关闭,根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件,并基于测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果,判断是否遍历完预设风扇转速配置文件中的所有转速,若没有遍历完所有转速,则对应将风扇的风扇转速从当前转速自动调整至下一个转速,若遍历完所有转速,则基于每个待测硬盘的测试结果,自动生成测试报告以及将测试机在测试时所修改的设置自动恢复到测试前的设置。
基于同样的发明构思,本申请实施例还提供了一种硬盘性能自动化测试装置100,如图3所示。该硬盘性能自动化测试装置100包括:获取模块110、设置模块120、测试模块130。
获取模块110,用于自动获取测试机的待测硬盘清单。
可选地,获取模块110,用于获取所述测试机的所有硬盘清单;从所述所有硬盘清单中自动剔除固态硬盘和系统盘,得到所述待测硬盘清单。
设置模块120,用于将BMC的风扇电源管理模式自动修改为手动模式,并根据预设风扇转速配置文件对应自动调整风扇的转速。
可选地,所述预设风扇转速配置文件包含多个大小不同的转速,设置模块120,用于根据所述预设风扇转速配置文件中的多个转速,按照从小到大的顺序顺次对应自动调整风扇的风扇转速;其中,在每完成当前转速下每一个待测硬盘的性能测试时,对应将所述风扇的风扇转速从所述当前转速自动调整至下一个转速,直至遍历完所有的转速。
测试模块130,用于针对所述待测硬盘清单中的每一个待测硬盘,根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件,并基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果。
可选地,所述预设的测试配置参数包括:固定测试配置参数和需要动态设置的硬盘读写方式、单次读写的数据大小及硬盘编号;测试模块130,用于自动将所述硬盘编号的值赋值为该待测硬盘的编号,并根据测试需求自动对所述硬盘读写方式、所述单次读写的数据大小进行赋值;根据所述固定测试配置参数和赋值后的所述硬盘读写方式、所述单次读写的数据大小及所述硬盘编号生成对应的测试配置文件。
可选地,测试模块130,用于基于所述测试配置文件对调整后的转速下该待测硬盘各进行预设次数的第一预设大小随机写和第二预设大小顺序写操作测试,自动获取每一次第一预设大小随机写的测试数据以及第二预设大小顺序写的测试数据。
所述测试数据包括IOPS和硬盘传输带宽;可选地,测试模块130,还用于在得到测试结果之后,基于每个待测硬盘的测试结果,自动生成测试报告,其中,所述测试报告包含每个待测硬盘在各个风扇转速下每一次第一预设大小随机写的IOPS和硬盘传输带宽以及第二预设大小顺序写的IOPS和硬盘传输带宽,每个待测硬盘在各个风扇转速下所述预设次数的第一预设大小随机写的IOPS均值和硬盘传输带宽均值以及第二预设大小顺序写的IOPS均值和硬盘传输带宽均值,每个待测硬盘在最低风扇转速下的第一预设大小随机写的IOPS均值与剩余各个风扇转速下的第一预设大小随机写的IOPS均值的衰减率、第一预设大小随机写的硬盘传输带宽均值的衰减率、第二预设大小顺序写的IOPS均值的衰减率、第二预设大小顺序写的硬盘传输带宽均值的衰减率。
可选地,所述待测硬盘的性能包括写性能,设置模块120,还用于在测试模块130基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试之前,将该待测硬盘的写缓存功能自动关闭。
可选地,在得到测试结果之后,设置模块120,还用于将所述测试机在测试时所修改的设置自动恢复到测试前的设置,其中包括将所述BMC的风扇电源管理模式从所述手动模式自动恢复为自动模式。
本申请实施例所提供的硬盘性能自动化测试装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图4所示,图4示出了本申请实施例提供的一种电子设备200的结构框图。所述电子设备200包括:收发器210、存储器220、通讯总线230以及处理器240,此外,还包括用于存储数据的硬盘(包括机械硬盘(包括系统盘)、固态硬盘)、用于散热的风扇以及用于调节风扇转速的BMC。
所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有图3中所示的软件功能模块,即硬盘性能自动化测试装置100。其中,硬盘性能自动化测试装置100包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(Operating System,OS)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如硬盘性能自动化测试装置100包括的软件功能模块或计算机程序。例如,处理器240,用于自动获取测试机(可以指电子设备自己)的待测硬盘清单;将BMC的风扇电源管理模式自动修改为手动模式,并根据预设风扇转速配置文件对应自动调整风扇的转速;针对所述待测硬盘清单中的每一个待测硬盘,根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件,并基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果。
其中,存储器220可以是,但不限于,随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
其中,上述的电子设备200,包括但不限于计算机,如可以是服务器等。
本申请实施例还提供了一种非易失性的计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的硬盘性能自动化测试方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种硬盘性能自动化测试方法,其特征在于,包括:
自动获取测试机的待测硬盘清单;
将BMC的风扇电源管理模式自动修改为手动模式,并根据预设风扇转速配置文件对应自动调整风扇的转速;
针对所述待测硬盘清单中的每一个待测硬盘,根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件,并基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果。
2.根据权利要求1所述的方法,其特征在于,所述预设风扇转速配置文件包含多个大小不同的转速;所述根据预设风扇转速配置文件对应自动调整风扇的转速,包括:
根据所述预设风扇转速配置文件中的多个转速,按照从小到大的顺序顺次对应自动调整风扇的风扇转速;
其中,在每完成当前转速下每一个待测硬盘的性能测试时,对应将所述风扇的风扇转速从所述当前转速自动调整至下一个转速,直至遍历完所有的转速。
3.根据权利要求1或2所述的方法,其特征在于,基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果,包括:
基于所述测试配置文件对调整后的转速下该待测硬盘各进行预设次数的第一预设大小随机写和第二预设大小顺序写操作测试,自动获取每一次第一预设大小随机写的测试数据以及第二预设大小顺序写的测试数据。
4.根据权利要求1所述的方法,其特征在于,所述预设的测试配置参数包括:固定测试配置参数和需要动态设置的硬盘读写方式、单次读写的数据大小及硬盘编号;根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件,包括:
自动将所述硬盘编号的值赋值为该待测硬盘的编号,并根据测试需求自动对所述硬盘读写方式、所述单次读写的数据大小进行赋值;
根据所述固定测试配置参数和赋值后的所述硬盘读写方式、所述单次读写的数据大小及所述硬盘编号生成对应的测试配置文件。
5.根据权利要求1所述的方法,其特征在于,获取待测硬盘清单,包括:
获取所述测试机的所有硬盘清单;
从所述所有硬盘清单中自动剔除固态硬盘和系统盘,得到所述待测硬盘清单。
6.根据权利要求1所述的方法,其特征在于,所述待测硬盘的性能包括写性能,所述基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试之前,所述方法还包括:
将该待测硬盘的写缓存功能自动关闭。
7.根据权利要求1所述的方法,其特征在于,在所述得到测试结果之后,所述方法还包括:
将所述测试机在测试时所修改的设置自动恢复到测试前的设置,其中包括将所述BMC的风扇电源管理模式从所述手动模式自动恢复为自动模式。
8.一种硬盘性能自动化测试装置,其特征在于,包括:
获取模块,用于自动获取测试机的待测硬盘清单;
设置模块,用于将BMC的风扇电源管理模式自动修改为手动模式,并根据预设风扇转速配置文件对应自动调整风扇的转速;
测试模块,用于针对所述待测硬盘清单中的每一个待测硬盘,根据该待测硬盘和预设的测试配置参数动态生成对应的测试配置文件,并基于所述测试配置文件对调整后的转速下该待测硬盘的性能进行测试,得到测试结果。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器与所述存储器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1-7中任一项所述的方法。
CN202111359630.4A 2021-11-17 2021-11-17 硬盘性能自动化测试方法、装置、电子设备及存储介质 Pending CN114049909A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111359630.4A CN114049909A (zh) 2021-11-17 2021-11-17 硬盘性能自动化测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111359630.4A CN114049909A (zh) 2021-11-17 2021-11-17 硬盘性能自动化测试方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114049909A true CN114049909A (zh) 2022-02-15

Family

ID=80209536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111359630.4A Pending CN114049909A (zh) 2021-11-17 2021-11-17 硬盘性能自动化测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114049909A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116662214A (zh) * 2023-05-06 2023-08-29 深圳市晶存科技有限公司 基于fio的硬盘垃圾回收方法、装置、系统及介质
CN117198365A (zh) * 2023-11-02 2023-12-08 合肥康芯威存储技术有限公司 一种存储器的处理系统及处理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116662214A (zh) * 2023-05-06 2023-08-29 深圳市晶存科技有限公司 基于fio的硬盘垃圾回收方法、装置、系统及介质
CN116662214B (zh) * 2023-05-06 2024-05-07 深圳市晶存科技有限公司 基于fio的硬盘垃圾回收方法、装置、系统及介质
CN117198365A (zh) * 2023-11-02 2023-12-08 合肥康芯威存储技术有限公司 一种存储器的处理系统及处理方法
CN117198365B (zh) * 2023-11-02 2024-02-06 合肥康芯威存储技术有限公司 一种存储器的处理系统及处理方法

Similar Documents

Publication Publication Date Title
CN114049909A (zh) 硬盘性能自动化测试方法、装置、电子设备及存储介质
US9747192B2 (en) Automated operating system installation on multiple drives
US7921203B2 (en) Specifying associations among attributes of entities in
US7650259B2 (en) Method for tuning chipset parameters to achieve optimal performance under varying workload types
US9542304B1 (en) Automated operating system installation
CN109324962B (zh) 一种基于云物联技术的应用程序的测试方法及设备
CN111913656B (zh) 分布式共享储存系统中的计算机储存节点及方法
CA2811617C (en) Commit sensitive tests
CN113220332A (zh) Bios固件刷新测试方法、装置、电子设备及存储介质
JP6771413B2 (ja) ソフトウェア検証装置およびソフトウェア検証プログラム
US9645873B2 (en) Integrated configuration management and monitoring for computer systems
CN115525486A (zh) Ssd smbus温度报警及低功耗状态的测试验证方法及装置
CN115061871A (zh) 一种计算机性能测试方法、装置及介质
US11748241B2 (en) Method and apparatus for generating simulated test IO operations
CN112269697B (zh) 一种设备存储性能测试方法、系统及相关装置
CN112395145A (zh) 一种测试系统稳定性的方法和装置
CN116382991A (zh) 一种存储设备测试方法、装置、计算机设备及存储介质
CN116244133A (zh) 硬盘测试管理方法、系统、终端及存储介质
CN113849359A (zh) 多节点服务器的自动化测试方法、服务器和存储介质
US11862275B2 (en) System and method for verifying and analyzing memory for high performance computing systems
WO2021038636A1 (ja) 検証装置、検証方法、及び、検証プログラム
CN115114053B (zh) 一种硬盘可靠性测试方法、系统、存储介质及设备
CN114138351B (zh) 一种vmd功能自启动方法、系统及装置
CN113900928B (zh) 一种io负载自动化测试方法、装置
TWI775360B (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