CN115394345A - 一种服务器硬盘性能的测试方法、装置、设备及介质 - Google Patents

一种服务器硬盘性能的测试方法、装置、设备及介质 Download PDF

Info

Publication number
CN115394345A
CN115394345A CN202211025775.5A CN202211025775A CN115394345A CN 115394345 A CN115394345 A CN 115394345A CN 202211025775 A CN202211025775 A CN 202211025775A CN 115394345 A CN115394345 A CN 115394345A
Authority
CN
China
Prior art keywords
hard disk
tested
test
performance
server
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
CN202211025775.5A
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211025775.5A priority Critical patent/CN115394345A/zh
Publication of CN115394345A publication Critical patent/CN115394345A/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/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种服务器硬盘性能的测试方法、装置、设备及介质,涉及性能测试技术领域,包括:在服务器安装待测硬盘并搭建测试环境;确定所述服务器的PCIe链路拓扑结构,并基于所述PCIe链路拓扑结构和预设测试问题制定测试策略;对所述待测硬盘先后进行格式化操作和写操作,然后基于所述测试策略对所述待测硬盘进行IO压力测试,并通过预设性能监控工具记录所述待测硬盘的性能测试数据;获取所述预设性能监控工具输出的所述性能测试数据,以便对所述性能测试数据进行分析。本申请通过基于服务器PCIe链路拓扑结构和预设测试问题制定相应的测试策略,并对待测硬盘进行测试,能够使得服务器硬盘的性能测试更全面、更准确。

Description

一种服务器硬盘性能的测试方法、装置、设备及介质
技术领域
本发明涉及性能测试技术,特别涉及一种服务器硬盘性能的测试方法、装置、设备及介质。
背景技术
随着大数据、云计算等技术的飞速发展,其对于服务器存储性能的要求也越来越高,而硬盘作为服务器核心存储部件,性能表现会直接影响服务器的实际应用,作为存储文件的电脑硬件,固态硬盘有读写速度快,功耗低,噪音低等特点,一块性能良好的固态硬盘能加快服务器运行效率。因此,在服务器出货之前对于硬盘进行真实而全面的性能测试至关重要,也即对于固态硬盘在服务器上的使用,必须经过充分的对于性能、功能和读写稳定性的测试,从而确保该产品的质量。传统的测试方法针对单盘单链路进行性能测试,无法有效模拟同一链路、不同链路硬盘之间性能的影响程度,同时也忽略了掉盘、链路瓶颈等异常问题对于服务器存储性能的影响,导致测试不够准确和全面。
综上,如何实现更全面更准确的服务器硬盘性能测试是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种服务器硬盘性能的测试方法、装置、设备及介质,能够实现更全面更准确的服务器硬盘性能测试。其具体方案如下:
第一方面,本申请公开了一种服务器硬盘性能的测试方法,包括:
在服务器安装待测硬盘并搭建测试环境;
确定所述服务器的PCIe链路拓扑结构,并基于所述PCIe链路拓扑结构和预设测试问题制定测试策略;
对所述待测硬盘先后进行格式化操作和写操作,然后基于所述测试策略对所述待测硬盘进行IO压力测试,并通过预设性能监控工具记录所述待测硬盘的性能测试数据;
获取所述预设性能监控工具输出的所述性能测试数据,以便对所述性能测试数据进行分析。
可选的,所述在服务器安装待测硬盘并搭建测试环境的过程中,还包括:
记录所有所述待测硬盘的出厂编码,并对所述待测硬盘的固件版本进行更新。
可选的,所述确定所述服务器的PCIe链路拓扑结构,包括:
查询所述服务器中与PCIe总线连接的目标设备,并从所述目标设备中筛选出所述待测硬盘;
基于各所述待测硬盘的总线ID确定出与每一PCIe链路对应的待测硬盘数量和相应的位置信息。
可选的,所述基于所述PCIe链路拓扑结构和预设测试问题制定测试策略,包括:
基于预设测试问题并确定所述PCIe链路拓扑结构中的目标PCIe链路以制定测试策略;其中,所述预设测试问题包括链路瓶颈问题、同一链路或不同链路硬盘间的性能影响问题和硬盘掉盘问题。
可选的,所述基于预设测试问题并确定所述PCIe链路拓扑结构中的目标PCIe链路以制定测试策略,包括:
若预设测试问题为链路瓶颈问题,则确定所述PCIe链路拓扑结构中的第一目标PCIe链路,并将测试策略制定为基于最大硬盘数量阈值在所述第一目标PCIe链路中增加待测硬盘进行测试;
若预设测试问题为同一链路或不同链路硬盘间的性能影响问题,则确定所述PCIe链路拓扑结构中的第二目标PCIe链路,并将测试策略制定为选取所述第二目标PCIe链路中同一链路或不同链路的两个待测硬盘进行测试;
若预设测试问题为硬盘掉盘问题,则确定所述PCIe链路拓扑结构中的第三目标PCIe链路,并将测试策略制定为任意关闭所述第三目标PCIe链路中目标待测硬盘的测试进程进行测试。
可选的,所述在服务器安装待测硬盘并搭建测试环境之后,还包括:
记录所述待测硬盘的初始状态信息和初始SMART日志;
相应的,所述基于所述测试策略对所述待测硬盘进行IO压力测试之后,还包括:
记录所述待测硬盘的测试后状态信息和测试后SMART日志,以便将所述初始状态信息和所述初始SMART日志与所述测试后状态信息和所述测试后SMART日志进行比对。
可选的,所述服务器硬盘性能的测试方法,还包括:
将所述待测硬盘的状态信息确定为链路接口带宽、链路速率和寄存器状态信息中的任意一种或几种信息。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的服务器硬盘性能的测试方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的服务器硬盘性能的测试方法的步骤。
可见,本申请在服务器安装待测硬盘并搭建测试环境;确定所述服务器的PCIe链路拓扑结构,并基于所述PCIe链路拓扑结构和预设测试问题制定测试策略;对所述待测硬盘先后进行格式化操作和写操作,然后基于所述测试策略对所述待测硬盘进行IO压力测试,并通过预设性能监控工具记录所述待测硬盘的性能测试数据;获取所述预设性能监控工具输出的所述性能测试数据,以便对所述性能测试数据进行分析。由此可见,本申请首先在服务器安装待测硬盘,并搭建相应的测试环境,然后确定服务器的PCIe链路拓扑结构,以基于PCIe链路拓扑结构和预设测试问题制定测试策略,再基于测试策略对执行格式化操作和写操作的待测硬盘进行IO压力测试,并对获取到的性能测试数据进行分析。上述技术方案通过基于服务器PCIe链路拓扑结构和预设测试问题制定的测试策略对待测硬盘进行测试,能够使得服务器硬盘的性能测试更全面、更准确。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种服务器硬盘性能的测试方法流程图;
图2为本申请公开的一种具体的服务器硬盘性能的测试方法流程图;
图3为本申请公开的一种服务器硬盘性能的测试装置结构示意图;
图4为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着大数据、云计算等技术的飞速发展,其对于服务器存储性能的要求也越来越高,而硬盘作为服务器核心存储部件,性能表现会直接影响服务器的实际应用。因此,在服务器出货之前对于硬盘进行真实而全面的性能测试至关重要。传统的测试方法针对单盘单链路进行性能测试,无法有效模拟同一链路、不同链路硬盘之间性能的影响程度,同时也忽略了掉盘、链路瓶颈等异常问题对于服务器存储性能的影响,导致测试不够准确和全面。为此,本申请实施例公开了一种服务器硬盘性能的测试方法、装置、设备及介质,能够实现更全面更准确的服务器硬盘性能测试。
参见图1所示,本申请实施例公开了一种服务器硬盘性能的测试方法,该方法包括:
步骤S11:在服务器安装待测硬盘并搭建测试环境。
本实施例中,首先在服务器安装待测硬盘并搭建测试环境,具体可以搭建基于待测硬件最大化配置的测试环境,也即根据服务器存储模块最大化配置安装待测硬盘至服务器。可以理解的是,在安装待测硬盘时根据服务器可以存储硬盘的最大值进行安装,例如若服务器可以存储硬盘的最大值为20,则安装20块硬盘至服务器。其中,硬盘类型可以根据测试需求进行选择,例如,具体可以选择选择intel P5316硬盘。
进一步的,上述在服务器安装待测硬盘并搭建测试环境的过程中,还包括:记录所有所述待测硬盘的出厂编码,并对所述待测硬盘的固件版本进行更新。也即,将待测硬盘安装至服务器后,进入Linux系统,确认并记录所有硬盘的出厂编码(Part Number,即PN),同时将待测硬盘的固件(Firmware,即FM)版本按测试要求进行更新。可以理解的是,固件是写入EPROM(可擦写可编程只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。
步骤S12:确定所述服务器的PCIe链路拓扑结构,并基于所述PCIe链路拓扑结构和预设测试问题制定测试策略。
本实施例中,确定服务器的PCIe链路拓扑结构,以便根据PCIe链路拓扑结构和预设测试问题自动制定测试策略。上述确定所述服务器的PCIe链路拓扑结构,包括:查询所述服务器中与PCIe总线连接的目标设备,并从所述目标设备中筛选出所述待测硬盘;基于各所述待测硬盘的总线ID确定出与每一PCIe链路对应的待测硬盘数量和相应的位置信息。在具体实施方式中,可以使用Lspci工具查询服务器中连接至PCIe总线的所有目标设备,并从这些设备中筛选出待测硬盘,具体为NVME(Non-Volatile Memory express,即非易失性内存主机控制器接口规范)硬盘;并基于待测硬盘的总线ID(即Bus ID)确定出与每一PCIe链路对应的待测硬盘数量和相应的位置信息。可以理解的是,在获得NVME硬盘Bus ID的同时,可明确各PCIe链路硬盘数量及位置,进一步的,使用ls-l/sys/class/block/可获得硬盘Bus ID相对应的盘符。
步骤S13:对所述待测硬盘先后进行格式化操作和写操作,然后基于所述测试策略对所述待测硬盘进行IO压力测试,并通过预设性能监控工具记录所述待测硬盘的性能测试数据。
本实施例中,可以对待测硬盘先后进行格式化操作和写操作,也即对待测硬盘进行格式化操作及预热处理,格式化操作的目的是保证待测硬盘从空盘状态启动测试;预热处理即使用FIO工具以预设参数对待测硬盘进行顺序写和随机写固定块,其目的是使硬盘处于满盘状态,满盘状态更接近硬盘的实际使用工况。其中,FIO工具是一款用于测试硬件存储性能的辅助工具,可以通过模拟I/O(Input/Output,即输入输出)负载对存储介质进行压力测试,并将存储介质的I/O数据直观的呈现出来。在具体实施方式中,可以使用NVME工具对待测试的所有硬盘进行全盘格式化,具体指令如下:nvme format–s 1/dev/$nvme,其中nvme参数控制硬盘的盘符。使用FIO工具以预设参数对待测硬盘进行顺序写固定块三遍、随机写固定块8小时,使硬盘处于满盘状态,更接近硬盘的实际使用工况。相关代码如下:
fio--name=Precondition--filename=/dev/$nvme--ioengine=libaio--direct=1--thread=1--numjobs=1--iodepth=128--rw=write--bs=128k--loops=3--size=100%--group_reporting--log_avg_msec=1000--bwavgtime=1000>>"$nvme"_one_thread_seq_wr_precondition.log
fio--name=Precondition--filename=/dev/$nvme--ioengine=libaio--direct=1--thread=1--numjobs=1--iodepth=128--rw=randwrite--bs=4k--runtime=8h--time_based=1--size=100%--norandommap=1--randrepeat=0--group_reporting--log_avg_msec=1000--bwavgtime=1000>>"$nvme"_one_thread_random_wr_precondition.log
进一步的,基于测试策略使用性能测试工具对待测硬盘施加IO压力,以对待测硬盘进行IO压力测试,本实施例中使用Linux Shell语句搭配FIO工具实现对测试硬盘的加压过程,通过for循环控制nvme变量可按需求实现不同的硬盘配置,time变量动态控制测试硬盘的加压时间,具体指令如下
Figure BDA0003815649990000061
Figure BDA0003815649990000071
上述指令仅以随机读为例进行示范,性能测试还包括随机写以及随机混合读写。
然后通过预设性能监控工具记录待测硬盘的性能测试数据。具体可以使用iostat工具实时记录所有测试硬盘的性能测试数据:
iostat-xm 2>>"$nvme"_random_read_data.log
步骤S14:获取所述预设性能监控工具输出的所述性能测试数据,以便对所述性能测试数据进行分析。
本实施例中,获取预设性能监控工具输出的性能测试数据,并经脚本过滤后对其进行整理和分析。
可见,本申请在服务器安装待测硬盘并搭建测试环境;确定所述服务器的PCIe链路拓扑结构,并基于所述PCIe链路拓扑结构和预设测试问题制定测试策略;对所述待测硬盘先后进行格式化操作和写操作,然后基于所述测试策略对所述待测硬盘进行IO压力测试,并通过预设性能监控工具记录所述待测硬盘的性能测试数据;获取所述预设性能监控工具输出的所述性能测试数据,以便对所述性能测试数据进行分析。由此可见,本申请首先在服务器安装待测硬盘,并搭建相应的测试环境,然后确定服务器的PCIe链路拓扑结构,以基于PCIe链路拓扑结构和预设测试问题制定测试策略,再基于测试策略对执行格式化操作和写操作的待测硬盘进行IO压力测试,并对获取到的性能测试数据进行分析。上述技术方案通过基于服务器PCIe链路拓扑结构和预设测试问题制定的测试策略对待测硬盘进行测试,能够使得服务器硬盘的性能测试更全面、更准确。
参见图2所示,本申请实施例公开了一种具体的服务器硬盘性能的测试方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
具体包括:
步骤S21:在服务器安装待测硬盘并搭建测试环境。
本实施例中,上述在服务器安装待测硬盘并搭建测试环境之后,还包括:记录所述待测硬盘的初始状态信息和初始SMART日志。其中,上述方法还包括:将所述待测硬盘的状态信息确定为链路接口带宽、链路速率和寄存器状态信息中的任意一种或几种信息。也即,在进行测试前需要检查并记录待测硬盘的状态信息,包括硬盘链路的接口带宽、链路速率以及寄存器状态信息,同时记录待测硬盘的SMART日志;其中,寄存器状态信息包括UE(Uncorrectable Error,即无法纠正的错误)、CE(Correctable Error,即可纠正的错误)等信息,SMART日志可以理解为硬盘自检信息,它记录了硬盘出厂后在客户终端使用过程中的大部分信息,硬盘发生故障后,首先要获取的资料便是smart日志。
步骤S22:确定所述服务器的PCIe链路拓扑结构,基于预设测试问题并确定所述PCIe链路拓扑结构中的目标PCIe链路以制定测试策略;其中,所述预设测试问题包括链路瓶颈问题、同一链路或不同链路硬盘间的性能影响问题和硬盘掉盘问题。
本实施例中,基于预设测试问题并确定PCIe链路拓扑结构中的目标PCIe链路以制定测试策略;其中,预设测试问题包括链路瓶颈问题、同一链路或不同链路硬盘间的性能影响问题和硬盘掉盘问题。
进一步的,上述基于预设测试问题并确定所述PCIe链路拓扑结构中的目标PCIe链路以制定测试策略,包括:若预设测试问题为链路瓶颈问题,则确定所述PCIe链路拓扑结构中的第一目标PCIe链路,并将测试策略制定为基于最大硬盘数量阈值在所述第一目标PCIe链路中增加待测硬盘进行测试;若预设测试问题为同一链路或不同链路硬盘间的性能影响问题,则确定所述PCIe链路拓扑结构中的第二目标PCIe链路,并将测试策略制定为选取所述第二目标PCIe链路中同一链路或不同链路的两个待测硬盘进行测试;若预设测试问题为硬盘掉盘问题,则确定所述PCIe链路拓扑结构中的第三目标PCIe链路,并将测试策略制定为任意关闭所述第三目标PCIe链路中目标待测硬盘的测试进程进行测试。
在第一种具体实施例中,预设测试问题为链路瓶颈问题,可以选择PCIe链路拓扑结构中的第一目标PCIe链路,也即可通过选定第一目标PCIe链路的所有待测硬盘,动态增加该链路硬盘的数量直至最大模拟,在本实施例中可选择Bus ID为61:00.0、62:00.0、63:00.0和63:00.0的4块硬盘,通过ls-l/sys/class/block/指令可获得其对应盘符为nvme0n1、nvme1n1、nvme2n1以及nvme3n1可以理解的是,PCIe链路中可设置的硬盘数量是有限的,因此可以将测试策略制定为基于最大硬盘数量阈值在第一目标PCIe链路中增加待测硬盘进行测试。
在第二种具体实施例中,预设测试问题为同一链路或不同链路硬盘间的性能影响问题,则确定PCIe链路拓扑结构中的第二目标PCIe链路。可以理解的是,若为同一链路硬盘间的性能影响问题,则可以随机选择一条PCIe链路作为第二目标PCIe链路,若为不同链路硬盘间的性能影响问题,则可以随机选择两条PCIe链路作为第二目标PCIe链路,然后则在同一链路或者不同链路中选择两个待测硬盘进行模拟测试。也即将测试策略制定为选取第二目标PCIe链路中同一链路或不同链路的两个待测硬盘进行测试。
在第三种具体实施例中,预设测试问题为硬盘掉盘问题,则确定PCIe链路拓扑结构中的第三目标PCIe链路,通过多盘测试中随机关闭该第三目标PCIe中的某一待测硬盘的测试进程进行模拟测试,也即,将测试策略制定为任意关闭第三目标PCIe链路中目标待测硬盘的测试进程进行测试。
步骤S23:对所述待测硬盘先后进行格式化操作和写操作,然后基于所述测试策略对所述待测硬盘进行IO压力测试,并通过预设性能监控工具记录所述待测硬盘的性能测试数据。
本实施例中,上述基于所述测试策略对所述待测硬盘进行IO压力测试之后,还包括:记录所述待测硬盘的测试后状态信息和测试后SMART日志,以便将所述初始状态信息和所述初始SMART日志与所述测试后状态信息和所述测试后SMART日志进行比对。也即,在对待测硬盘的测试完成之后,需要记录待测硬盘的测试后状态信息和测试后SMART日志,以便比对比较测试前后收集到的待测硬盘的状态信息,确认硬盘的UE,CE等关键寄存器读值以及SMART日志等信息是否改变。在上述过程中,具体可以使用Linux对比工具diff对测试前后的各信息进行比对。
步骤S24:获取所述预设性能监控工具输出的所述性能测试数据,以便对所述性能测试数据进行分析。
其中,关于上述步骤S21和S24更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例在确定所述服务器的PCIe链路拓扑结构后,基于预设测试问题并确定PCIe链路拓扑结构中的目标PCIe链路以制定测试策略;其中,预设测试问题包括链路瓶颈问题、同一链路或不同链路硬盘间的性能影响问题和硬盘掉盘问题。并在测试前后记录待测硬盘的链路接口带宽、链路速率和寄存器状态信息等状态信息和SMART日志,以便判断测试前后是否发生改变。由此可见,本申请通过分析服务器的PCIe链路拓扑结构以及自动构建不同硬盘配置的测试场景,进而根据PCIe链路拓扑结构和预设测试问题制定的测试策略对待测硬盘进行IO压力测试。能够覆盖服务器内不同链路所有硬盘,并且可模拟硬盘掉盘,链路瓶颈等问题对服务器存储性能的影响,以及明确服务器单一链路、不同链路硬盘之间性能的影响程度,弥补了传统性能测试方法的不足,更能反映出测试硬盘以及服务器的真实性能表现。
参见图3所示,本申请实施例公开了一种服务器硬盘性能的测试装置,该装置包括:
测试环境搭建模块11,用于在服务器安装待测硬盘并搭建测试环境;
测试策略制定模块12,用于确定所述服务器的PCIe链路拓扑结构,并基于所述PCIe链路拓扑结构和预设测试问题制定测试策略;
压力测试模块13,用于对所述待测硬盘先后进行格式化操作和写操作,然后基于所述测试策略对所述待测硬盘进行IO压力测试,并通过预设性能监控工具记录所述待测硬盘的性能测试数据;
性能测试数据获取模块14,用于获取所述预设性能监控工具输出的所述性能测试数据,以便对所述性能测试数据进行分析。
可见,本申请在服务器安装待测硬盘并搭建测试环境;确定所述服务器的PCIe链路拓扑结构,并基于所述PCIe链路拓扑结构和预设测试问题制定测试策略;对所述待测硬盘先后进行格式化操作和写操作,然后基于所述测试策略对所述待测硬盘进行IO压力测试,并通过预设性能监控工具记录所述待测硬盘的性能测试数据;获取所述预设性能监控工具输出的所述性能测试数据,以便对所述性能测试数据进行分析。由此可见,本申请首先在服务器安装待测硬盘,并搭建相应的测试环境,然后确定服务器的PCIe链路拓扑结构,以基于PCIe链路拓扑结构和预设测试问题制定测试策略,再基于测试策略对执行格式化操作和写操作的待测硬盘进行IO压力测试,并对获取到的性能测试数据进行分析。上述技术方案通过基于服务器PCIe链路拓扑结构和预设测试问题制定的测试策略对待测硬盘进行测试,能够使得服务器硬盘的性能测试更全面、更准确。
在一些具体实施例中,所述测试环境搭建模块11的过程中,还可以包括:
固件更新单元,用于记录所有所述待测硬盘的出厂编码,并对所述待测硬盘的固件版本进行更新。
在一些具体实施例中,所述测试策略制定模块12,具体可以包括:
设备查询单元,用于查询所述服务器中与PCIe总线连接的目标设备,并从所述目标设备中筛选出所述待测硬盘;
信息确定单元,用于基于各所述待测硬盘的总线ID确定出与每一PCIe链路对应的待测硬盘数量和相应的位置信息。
在一些具体实施例中,所述测试策略制定模块12,具体可以包括:
策略制定子模块,用于基于预设测试问题并确定所述PCIe链路拓扑结构中的目标PCIe链路以制定测试策略;其中,所述预设测试问题包括链路瓶颈问题、同一链路或不同链路硬盘间的性能影响问题和硬盘掉盘问题。
在一些具体实施例中,所述策略制定子模块,具体可以包括:
第一策略制定单元,用于若预设测试问题为链路瓶颈问题,则确定所述PCIe链路拓扑结构中的第一目标PCIe链路,并将测试策略制定为基于最大硬盘数量阈值在所述第一目标PCIe链路中增加待测硬盘进行测试;
第二策略制定单元,用于若预设测试问题为同一链路或不同链路硬盘间的性能影响问题,则确定所述PCIe链路拓扑结构中的第二目标PCIe链路,并将测试策略制定为选取所述第二目标PCIe链路中同一链路或不同链路的两个待测硬盘进行测试;
第二策略制定单元,用于若预设测试问题为硬盘掉盘问题,则确定所述PCIe链路拓扑结构中的第三目标PCIe链路,并将测试策略制定为任意关闭所述第三目标PCIe链路中目标待测硬盘的测试进程进行测试。
在一些具体实施例中,所述测试环境搭建模块11之后,还可以包括:
初始信息记录单元,用于记录所述待测硬盘的初始状态信息和初始SMART日志;
相应的,所述压力测试模块13之后,还可以包括:
信息比对单元,用于记录所述待测硬盘的测试后状态信息和测试后SMART日志,以便将所述初始状态信息和所述初始SMART日志与所述测试后状态信息和所述测试后SMART日志进行比对。
在一些具体实施例中,所述服务器硬盘性能的测试装置,还可以包括:
状态信息确定单元,用于将所述待测硬盘的状态信息确定为链路接口带宽、链路速率和寄存器状态信息中的任意一种或几种信息。
图4为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现以下步骤:
在服务器安装待测硬盘并搭建测试环境;
确定所述服务器的PCIe链路拓扑结构,并基于所述PCIe链路拓扑结构和预设测试问题制定测试策略;
对所述待测硬盘先后进行格式化操作和写操作,然后基于所述测试策略对所述待测硬盘进行IO压力测试,并通过预设性能监控工具记录所述待测硬盘的性能测试数据;
获取所述预设性能监控工具输出的所述性能测试数据,以便对所述性能测试数据进行分析。
一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
记录所有所述待测硬盘的出厂编码,并对所述待测硬盘的固件版本进行更新。
一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
查询所述服务器中与PCIe总线连接的目标设备,并从所述目标设备中筛选出所述待测硬盘;
基于各所述待测硬盘的总线ID确定出与每一PCIe链路对应的待测硬盘数量和相应的位置信息。
一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
基于预设测试问题并确定所述PCIe链路拓扑结构中的目标PCIe链路以制定测试策略;其中,所述预设测试问题包括链路瓶颈问题、同一链路或不同链路硬盘间的性能影响问题和硬盘掉盘问题。
一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
若预设测试问题为链路瓶颈问题,则确定所述PCIe链路拓扑结构中的第一目标PCIe链路,并将测试策略制定为基于最大硬盘数量阈值在所述第一目标PCIe链路中增加待测硬盘进行测试;
若预设测试问题为同一链路或不同链路硬盘间的性能影响问题,则确定所述PCIe链路拓扑结构中的第二目标PCIe链路,并将测试策略制定为选取所述第二目标PCIe链路中同一链路或不同链路的两个待测硬盘进行测试;
若预设测试问题为硬盘掉盘问题,则确定所述PCIe链路拓扑结构中的第三目标PCIe链路,并将测试策略制定为任意关闭所述第三目标PCIe链路中目标待测硬盘的测试进程进行测试。
一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
记录所述待测硬盘的初始状态信息和初始SMART日志;
相应的,所述基于所述测试策略对所述待测硬盘进行IO压力测试之后,还包括:
记录所述待测硬盘的测试后状态信息和测试后SMART日志,以便将所述初始状态信息和所述初始SMART日志与所述测试后状态信息和所述测试后SMART日志进行比对。
一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
将所述待测硬盘的状态信息确定为链路接口带宽、链路速率和寄存器状态信息中的任意一种或几种信息。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的服务器硬盘性能的测试方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由服务器硬盘性能的测试过程中执行的方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种服务器硬盘性能的测试方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种服务器硬盘性能的测试方法,其特征在于,包括:
在服务器安装待测硬盘并搭建测试环境;
确定所述服务器的PCIe链路拓扑结构,并基于所述PCIe链路拓扑结构和预设测试问题制定测试策略;
对所述待测硬盘先后进行格式化操作和写操作,然后基于所述测试策略对所述待测硬盘进行IO压力测试,并通过预设性能监控工具记录所述待测硬盘的性能测试数据;
获取所述预设性能监控工具输出的所述性能测试数据,以便对所述性能测试数据进行分析。
2.根据权利要求1所述的服务器硬盘性能的测试方法,其特征在于,所述在服务器安装待测硬盘并搭建测试环境的过程中,还包括:
记录所有所述待测硬盘的出厂编码,并对所述待测硬盘的固件版本进行更新。
3.根据权利要求1所述的服务器硬盘性能的测试方法,其特征在于,所述确定所述服务器的PCIe链路拓扑结构,包括:
查询所述服务器中与PCIe总线连接的目标设备,并从所述目标设备中筛选出所述待测硬盘;
基于各所述待测硬盘的总线ID确定出与每一PCIe链路对应的待测硬盘数量和相应的位置信息。
4.根据权利要求3所述的服务器硬盘性能的测试方法,其特征在于,所述基于所述PCIe链路拓扑结构和预设测试问题制定测试策略,包括:
基于预设测试问题并确定所述PCIe链路拓扑结构中的目标PCIe链路以制定测试策略;其中,所述预设测试问题包括链路瓶颈问题、同一链路或不同链路硬盘间的性能影响问题和硬盘掉盘问题。
5.根据权利要求4所述的服务器硬盘性能的测试方法,其特征在于,所述基于预设测试问题并确定所述PCIe链路拓扑结构中的目标PCIe链路以制定测试策略,包括:
若预设测试问题为链路瓶颈问题,则确定所述PCIe链路拓扑结构中的第一目标PCIe链路,并将测试策略制定为基于最大硬盘数量阈值在所述第一目标PCIe链路中增加待测硬盘进行测试;
若预设测试问题为同一链路或不同链路硬盘间的性能影响问题,则确定所述PCIe链路拓扑结构中的第二目标PCIe链路,并将测试策略制定为选取所述第二目标PCIe链路中同一链路或不同链路的两个待测硬盘进行测试;
若预设测试问题为硬盘掉盘问题,则确定所述PCIe链路拓扑结构中的第三目标PCIe链路,并将测试策略制定为任意关闭所述第三目标PCIe链路中目标待测硬盘的测试进程进行测试。
6.根据权利要求1至5任一项所述的服务器硬盘性能的测试方法,其特征在于,所述在服务器安装待测硬盘并搭建测试环境之后,还包括:
记录所述待测硬盘的初始状态信息和初始SMART日志;
相应的,所述基于所述测试策略对所述待测硬盘进行IO压力测试之后,还包括:
记录所述待测硬盘的测试后状态信息和测试后SMART日志,以便将所述初始状态信息和所述初始SMART日志与所述测试后状态信息和所述测试后SMART日志进行比对。
7.根据权利要求6所述的服务器硬盘性能的测试方法,其特征在于,还包括:
将所述待测硬盘的状态信息确定为链路接口带宽、链路速率和寄存器状态信息中的任意一种或几种信息。
8.一种服务器硬盘性能的测试装置,其特征在于,包括:
测试环境搭建模块,用于在服务器安装待测硬盘并搭建测试环境;
测试策略制定模块,用于确定所述服务器的PCIe链路拓扑结构,并基于所述PCIe链路拓扑结构和预设测试问题制定测试策略;
压力测试模块,用于对所述待测硬盘先后进行格式化操作和写操作,然后基于所述测试策略对所述待测硬盘进行IO压力测试,并通过预设性能监控工具记录所述待测硬盘的性能测试数据;
性能测试数据获取模块,用于获取所述预设性能监控工具输出的所述性能测试数据,以便对所述性能测试数据进行分析。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的服务器硬盘性能的测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的服务器硬盘性能的测试方法的步骤。
CN202211025775.5A 2022-08-25 2022-08-25 一种服务器硬盘性能的测试方法、装置、设备及介质 Pending CN115394345A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211025775.5A CN115394345A (zh) 2022-08-25 2022-08-25 一种服务器硬盘性能的测试方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211025775.5A CN115394345A (zh) 2022-08-25 2022-08-25 一种服务器硬盘性能的测试方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN115394345A true CN115394345A (zh) 2022-11-25

Family

ID=84122366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211025775.5A Pending CN115394345A (zh) 2022-08-25 2022-08-25 一种服务器硬盘性能的测试方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115394345A (zh)

Similar Documents

Publication Publication Date Title
US20100115496A1 (en) Filter generation for load testing managed environments
CN106775968A (zh) 一种服务器测试方法、装置及系统
CN111274154A (zh) 一种自动化测试的方法、装置、设备及存储介质
CN108399132A (zh) 一种调度测试方法、装置及存储介质
KR20140053542A (ko) 내장형 소프트웨어의 자동 테스트 장치, 자동 테스트 방법 및 테스트 시나리오 작성방법
CN111814354B (zh) 仪器性能的模拟测试方法、系统、介质及电子设备
CN110659202A (zh) 客户端自动化测试方法及装置
CN110610089A (zh) 用户行为模拟方法、装置及计算机设备
CN117009243A (zh) 芯片性能自动化测试方法、装置、计算机设备及存储介质
CN112216340A (zh) 硬盘测试方法、装置、存储介质及电子设备
CN112269697B (zh) 一种设备存储性能测试方法、系统及相关装置
CN110795304B (zh) 分布式存储系统性能测试的方法及装置
CN115394345A (zh) 一种服务器硬盘性能的测试方法、装置、设备及介质
CN116244133A (zh) 硬盘测试管理方法、系统、终端及存储介质
CN114253248B (zh) 自动测试验证核电站dcs控制系统的系统及方法
US8418013B2 (en) Method of using virtual inputs and outputs to automate testing of application software and hardware
CN104678292A (zh) 一种复杂可编程逻辑器件cpld测试方法和装置
KR20190120983A (ko) 앱 모니터링 장치 및 방법
EP3877838B1 (en) Intelligent software asset classification for software update validation
CN110806981B (zh) 一种应用程序测试方法、装置、设备和存储介质
CN113986753A (zh) 接口测试方法、装置、设备及存储介质
CN111444108A (zh) 一种基于s7工业协议的行为审计自动化测试方法
CN111597119A (zh) 测试脚本更新方法、装置、存储介质及处理器
KR102307997B1 (ko) Plc 프로그램과 plc 서버 프로그램의 테스트 자동화 방법
WO2023238262A1 (ja) 情報処理装置、試験方法、及び試験プログラム

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