本发明属于ssd硬盘测试技术领域,具体涉及一种ssd硬盘可选块大小性能测试方法及系统。
背景技术:
伴随着服务器以及互联网行业的高速发展,客户对存储的要求越来高,硬盘的读写带宽,以及iops越来越大,以至于促使各家开始研究开发nvdimm,但就当前来说,存储介质仍然分为两大类,机械硬盘以及ssd硬盘两种。机械硬盘成本低,容量大,就目前发展来看,发展速度已经减缓,而ssd的体量,仍然处于不断上升阶段。随着成本逐渐降低,也许未来机械硬盘会逐渐退出历史舞台。
服务器领域,测试ssd,linux系统下对硬盘进行性能,以及读写压力测试,各厂商ssd的规格参数各不相同,当前测试工具中,优先对ssd进行预处理,然后将每种规格参数ssd作为一组进行读写测试,每一组性能测试取10分钟,完成ssd性能测试需要将近200分钟,如果ssd性能较好,未出现测试fail情况,则可以完成测试,并输出测试结果,如果一旦测试fail,需要debug并重新测试某一组性能,则需要重新进行完整测试,导致测试以及debug浪费大量时间。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种ssd硬盘可选块大小性能测试方法及系统,是非常有必要的。
技术实现要素:
针对现有技术的上述现有ssd性能测试时间长,若出现测试不通过,需要debug并重新测试某一组性能,且需要重新进行完整测试,导致测试以及debug浪费大量时间的缺陷,本发明提供一种ssd硬盘可选块大小性能测试方法及系统,以解决上述技术问题。
第一方面,本发明提供一种ssd硬盘可选块大小性能测试方法,包括如下步骤:
s1.搭建测试环境并创建测试脚本;
s2.启动测试脚本;
s3.测试脚本图形化获取ssd硬盘可选块,将ssd硬盘以块为单位分别进行每种读写模式的性能测试;
s4.测试脚本输出测试结果,并对测试结果进行分析。
进一步地,步骤s1具体步骤如下:
s11.搭建rhel7.4测试平台,安装操作系统,并在根目录下登录;
s12.创建测试脚本;
s13.将测试脚本以及压力测试工具fio复制到操作系统下;
s14.安装压力测试工具fio,并对ssd硬盘进行分区。压力测试工具fio是一个非常灵活的io测试工具,他可以通过多线程或进程模拟各种io操作,对ssd硬盘进行读写压力测试。
进一步地,步骤s12具体步骤如下:
s121.配置测试脚本在命令行窗口图形化输出ssd硬盘可选块的测试选项;
s122.配置测试脚本获取用户选择的ssd硬盘可选块;
s123.配置测试脚本将用户选定的ssd硬盘可选块进行每种读写模式的性能测试,并返回每种读写模式的测试结果;
s124.配置测试脚本输出测试结果,并对测试结果进行分析。配置测试脚本实现图形化菜单模式,通过手动选择某一组ssd硬盘可选块进行测试,能够对单一选项输出测试机结果,极其方便,避免手动输入单一测试项,针对fio工具不熟悉的测试人员,提供便利,减少配置环境时间,并大量节省人力测试时间。
进一步地,步骤s122中ssd硬盘可选块包括4k数据块、64k数据块、128k数据块、256k数据块以及整组数据块;
步骤s123中读写模式包括随机读、顺序读、随机写以及顺序写。各厂商ssd的规格参数各不相同,但均集中于4k,64k,128k,256k四个数据块。
进一步地,步骤s123中还包括配置测试脚本获取用户设定的每种读写模式的iops和带宽。定义iops和带宽进行测试,保证测试完整性。
进一步地,步骤s3具体步骤如下:
s31.测试脚本在命令行窗口图形化输出ssd硬盘可选块的测试选项;
s32.测试脚本获取用户选择的ssd硬盘可选块;
s33.测试脚本获取用户设定的每种读写模式的iops和带宽;
测试脚本将用户选定的ssd硬盘可选块进行每种读写模式的性能测试,并返回每种读写模式的测试结果。测试脚本实现图形化菜单模式,通过手动选择某一组ssd硬盘可选块进行测试,能够对单一选项输出测试机结果,极其方便,避免手动输入单一测试项,针对fio工具不熟悉的测试人员,提供便利,减少配置环境时间,并大量节省人力测试时间。
进一步地,步骤s4具体步骤如下:
s41.测试脚本输出每个ssd硬盘可选块的测试结果;
s42.判断测试结果中记录的待测ssd硬盘所在的服务器是否稳定运行,是否出现死机、重启、掉电,带宽及iops是否不符合ssd硬盘标准;
若是,则该选定的ssd硬盘可选块的性能测试不通过;
若否,则该选定的ssd硬盘可选块的性能测试通过。以每个ssd硬盘可选块或者所有块进行测试,每个ssd硬盘可选块均会涉及到顺序读,顺序写,随机读,随机写,输出每个ssd硬盘可选块的测试结果。
第二方面,本发明提供一种ssd硬盘可选块大小性能测试系统,包括
测试环境搭建模块,用于搭建测试环境并创建测试脚本;
测试脚本启动模块,用于启动测试脚本;
测试模块,用于配置测试脚本图形化获取ssd硬盘可选块,将ssd硬盘以块为单位分别进行每种读写模式的性能测试;
测试结果输出模块,用于配置测试脚本输出测试结果,并对测试结果进行分析。
进一步地,测试环境搭建模块包括:
测试平台搭建单元,用于搭建rhel7.4测试平台,安装操作系统,并在根目录下登录;
测试脚本创建单元,用于创建测试脚本;测试脚本创建单元(1.2)包括:
测试选项输出配置子单元,用于配置测试脚本在命令行窗口图形化输出ssd硬盘可选块的测试选项;
测试选项获取配置子单元,用于配置测试脚本获取用户选择的ssd硬盘可选块;
iops和带宽获取配置子单元,用于配置测试脚本获取用户设定的每种读写模式的iops和带宽;
测试配置子单元,用于配置测试脚本将用户选定的ssd硬盘可选块进行每种读写模式的性能测试,并返回每种读写模式的测试结果;
测试结果输出配置子单元,用于配置测试脚本输出测试结果,并对测试结果进行分析;
测试脚本复制单元,用于将测试脚本以及压力测试工具fio复制到操作系统下;
测试工具安装单元,用于安装压力测试工具fio,并对ssd硬盘进行分区。
进一步地,测试模块包括:
测试选项输出单元,用于通过测试脚本在命令行窗口图形化输出ssd硬盘可选块的测试选项;
测试选项获取单元,用于通过测试脚本获取用户选择的ssd硬盘可选块;
iops和带宽获取单元,用于通过测试脚本获取用户设定的每种读写模式的iops和带宽;
测试单元,用于通过测试脚本将用户选定的ssd硬盘可选块进行每种读写模式的性能测试,并返回每种读写模式的测试结果;
测试结果输出模块包括:
测试结果输出单元,用于通过测试脚本输出每个ssd硬盘可选块的测试结果;
测试结果判断单元,用于判断测试结果中记录的待测ssd硬盘所在的服务器是否稳定运行,是否出现死机、重启、掉电,带宽及iops是否不符合ssd硬盘标准。
本发明的有益效果在于,
本发明提供的ssd硬盘可选块大小性能测试方法及系统,通过测试脚本实现单组ssd硬盘可选块性能测试,可以对某一组性能不达标情况,进行单独测试分析,通用性较强,可以推广到多种型号x86服务器上使用。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程示意图一;
图2是本发明的方法流程示意图二;
图3是本发明的方法流程示意图三;
图4是本发明的系统结构示意图一;
图5是本发明的系统结构示意图二;
图中,1-测试环境搭建模块;1.1-测试平台搭建单元;1.2-测试脚本创建单元;1.2.1-测试选项输出配置子单元;1.2.2-测试选项获取配置子单元;1.2.3-iops和带宽获取配置子单元;1.2.4-测试配置子单元;1.2.5-测试结果输出配置子单元;1.3-测试脚本复制单元;1.4-测试工具安装单元;2-测试脚本启动模块;3-测试模块;3.1-测试选项输出单元;3.2-测试选项获取单元;3.3-iops和带宽获取单元;3.4-测试单元;4-测试结果输出模块;4.1-测试结果输出单元;4.2-测试结果判断单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种ssd硬盘可选块大小性能测试方法,包括如下步骤:
s1.搭建测试环境并创建测试脚本;
s2.启动测试脚本;
s3.测试脚本图形化获取ssd硬盘可选块,将ssd硬盘以块为单位分别进行每种读写模式的性能测试;
s4.测试脚本输出测试结果,并对测试结果进行分析。
实施例2:
如图2所示,本发明提供一种ssd硬盘可选块大小性能测试方法,包括如下步骤:
s1.搭建测试环境并创建测试脚本;具体步骤如下:
s11.搭建rhel7.4测试平台,安装操作系统,并在根目录下登录;
s12.创建测试脚本;如图3所示,具体步骤如下:
s121.配置测试脚本在命令行窗口图形化输出ssd硬盘可选块的测试选项;
s122.配置测试脚本获取用户选择的ssd硬盘可选块;ssd硬盘可选块包括4k数据块、64k数据块、128k数据块、256k数据块以及整组数据块;读写模式包括随机读、顺序读、随机写以及顺序写;
s123.配置测试脚本获取用户设定的每种读写模式的iops和带宽;配置测试脚本将用户选定的ssd硬盘可选块进行每种读写模式的性能测试,并返回每种读写模式的测试结果;
s124.配置测试脚本输出测试结果,并对测试结果进行分析;
s13.将测试脚本以及压力测试工具fio复制到操作系统下;
s14.安装压力测试工具fio,并对ssd硬盘进行分区;
s2.启动测试脚本;
s3.测试脚本图形化获取ssd硬盘可选块,将ssd硬盘以块为单位分别进行每种读写模式的性能测试;具体步骤如下:
s31.测试脚本在命令行窗口图形化输出ssd硬盘可选块的测试选项;
s32.测试脚本获取用户选择的ssd硬盘可选块;
s33.测试脚本获取用户设定的每种读写模式的iops和带宽;测试脚本将用户选定的ssd硬盘可选块进行每种读写模式的性能测试,并返回每种读写模式的测试结果;
s4.测试脚本输出测试结果,并对测试结果进行分析;具体步骤如下:
s41.测试脚本输出每个ssd硬盘可选块的测试结果;
s42.判断测试结果中记录的待测ssd硬盘所在的服务器是否稳定运行,是否出现死机、重启、掉电,带宽及iops是否不符合ssd硬盘标准;
若是,则该选定的ssd硬盘可选块的性能测试不通过;
若否,则该选定的ssd硬盘可选块的性能测试通过。
实施例3:
上述实施例2中s31.测试脚本在命令行窗口图形化输出ssd硬盘可选块的测试选项;通过如下代码实现:
s33.测试脚本获取用户设定的每种读写模式的iops和带宽;以读测试iops输出为例,通过如下代码实现:
测试脚本将用户选定的ssd硬盘可选块进行每种读写模式的性能测试,并返回每种读写模式的测试结果;通过如下代码实现:
实施例4:
如图4所示,本发明提供一种ssd硬盘可选块大小性能测试系统,包括测试环境搭建模块1,用于搭建测试环境并创建测试脚本;测试环境搭建模块1包括:
测试平台搭建单元1.1,用于搭建rhel7.4测试平台,安装操作系统,并在根目录下登录;
测试脚本创建单元1.2,用于创建测试脚本;如图5所示,测试脚本创建单元1.2包括:
测试选项输出配置子单元1.2.1,用于配置测试脚本在命令行窗口图形化输出ssd硬盘可选块的测试选项;
测试选项获取配置子单元1.2.2,用于配置测试脚本获取用户选择的ssd硬盘可选块;
iops和带宽获取配置子单元1.2.3,用于配置测试脚本获取用户设定的每种读写模式的iops和带宽;
测试配置子单元1.2.4,用于配置测试脚本将用户选定的ssd硬盘可选块进行每种读写模式的性能测试,并返回每种读写模式的测试结果;
测试结果输出配置子单元1.2.5,用于配置测试脚本输出测试结果,并对测试结果进行分析;
测试脚本复制单元1.3,用于将测试脚本以及压力测试工具fio复制到操作系统下;
测试工具安装单元1.4,用于安装压力测试工具fio,并对ssd硬盘进行分区;
测试脚本启动模块2,用于启动测试脚本;
测试模块3,用于配置测试脚本图形化获取ssd硬盘可选块,将ssd硬盘以块为单位分别进行每种读写模式的性能测试;测试模块3包括:
测试选项输出单元3.1,用于通过测试脚本在命令行窗口图形化输出ssd硬盘可选块的测试选项;
测试选项获取单元3.2,用于通过测试脚本获取用户选择的ssd硬盘可选块;
iops和带宽获取单元3.3,用于通过测试脚本获取用户设定的每种读写模式的iops和带宽;
测试单元3.4,用于通过测试脚本将用户选定的ssd硬盘可选块进行每种读写模式的性能测试,并返回每种读写模式的测试结果;
测试结果输出模块4,用于配置测试脚本输出测试结果,并对测试结果进行分析;测试结果输出模块4包括:
测试结果输出单元4.1,用于通过测试脚本输出每个ssd硬盘可选块的测试结果;
测试结果判断单元4.2,用于判断测试结果中记录的待测ssd硬盘所在的服务器是否稳定运行,是否出现死机、重启、掉电,带宽及iops是否不符合ssd硬盘标准。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。