一种对分布式文件系统进行读写基准测试的工具及方法
【专利摘要】本发明公开了一种对分布式文件系统进行读写基准测试的工具及方法,针对分布式文件系统架构的特性,将控制文件发送到各存储结点,由各存储结点独立执行写和读的测试,并且在写测试和读测试的过程中记录测试结果,并将测试结果返回到控制结点,由控制结点进行统一计算和评估,该工具主要包括控制结点和存储结点两个部分。通过控制文件来模拟实现高并发场景下的读写指令,每一个控制文件只有文件名、文件大小两项内容,所产生数据量很小,基本不会对分布式文件系统的读写测试产生影响,并且通过该测试架构有效提高了系统测试对存储结点的覆盖率,为系统的可靠的、准确评测各分布式文件系统产品的读写性能提供了一个统一的测试工具。
【专利说明】一种对分布式文件系统进行读写基准测试的工具及方法
【技术领域】
[0001]本发明涉及计算机高性能计算领域,具体涉及一种对于分布式文件系统进行读写基准测试的测试工具。
技术背景
[0002]随着信息社会的发展,传统行业在信息应用方面的投入已经越来越多而且呈现膨胀式加速发展的态势,由此产生了越来越多的数据,传统的存储架构已经逐渐无法满足海量数据的存储要求。而随着互联网的飞速发展,文本图片和视频等和传统的结构化数据不一样的非结构化数据也急速膨胀,这些非结构化海量数据的存储也对传统的集中存储架构提出了挑战。另外随着各企业对IT投入的不断增加,如何让现存的数据产生价值而不只是挤占存储资源这个命题对于数据挖掘和数据分析的计算能力产生了更高要求。
[0003]综上产生了大数据的概念,包含了对海量数据的存储和分布式计算等等【技术领域】,其中海量数据的存储目前一般采用分布式存储的方式。目前分布式存储中的分布式文件系统的产品实现有很多。本工具的发明的目的是针对这些产品的横向性能比较提供一个统一的标准和操作,由此可以对各分布式文件系统产品的性能有一个客观公平的评价。
【发明内容】
[0004]本发明要解决的技术问题是:本发明目的是针对分布式文件系统的技术架构特性、模拟其面对高并发、大数据量测试场景下难以实现并发写测试与并发读测试的控制,提高评测系统的精确性和统一性。
[0005]在分布式文件系统环境下对各存储结点写测试任务分配难以实现文件名连续性及任务分配的并发性。对各存储结点写测试任务中文件生成大小的控制难以实现依据控制命令指定。难以记录写测试过程中写性能各相关结果数据。难以反馈各存储结点的写测试结果。在分布式文件系统环境下对各存储结点读测试任务分配难以实现各结点指定读文件名及任务分配的并发性。难以实现对各存储结点读测试任务中缓存的清除以及读测试过程中读性能各相关数据的记录。难以反馈各存储结点读测试结果。控制结点难以依据接收到的测试结果根据统一的度量标准进行计算,从而得到统一标准下的写性能与读性能测试结论。
[0006]本发明所采用的技术方案为:
一种对分布式文件系统进行读写基准测试的工具,该工具主要包括控制结点和存储结点两个部分,其中:
控制结点包括控制文件生成策略、控制文件分发模块、通信模块、测试结果接收模块、测试结果分析模块,控制文件生成策略模拟高并发场景下,指定生成文件的大小,依据存储结点个数产生对应的控制文件数量以及相应的生成文件名;由控制文件分发模块通过通信模块将控制文件分发到各存储结点并执行;接收通信模块返回的各存储结点的测试结果,由测试结果分析模块依据统一的度量标准进行计算并将计算结果记入文件或展示在终端,其中:
控制文件分发模块负责模拟高并发状态下文件的写入和读取命令,并依据集群情况生成控制文件分发到各存储结点执行;
通信模块负责提供控制结点与存储结点的通信以及对故障结点的探测,发送控制结点的控制命令、并接收存储结点返回的测试结果;
测试结果接收模块接收通信模块返回的各存储结点的测试结果;
测试结果分析模块是负责测试结果的收集和处理、接受控制结点的调度,接收通过通信模块发来的存储结点的读写测试结果,并依据相关的度量算法计算写测试和读测试的性能数据,并将结果写入文件中或展示在终端;
存储结点包括文件写入模块、文件读取模块、测试结果记录模块、测试结果返回模块,依据通过通信模块接收到的控制文件来执行相应的文件生成或文件读取操作,并且在执行过程中记录相关的测试数据并将最终测试结果返回给控制结点,其中:
文件写入模块是依据控制结点发送来的控制文件中的内容来生成相应文件大小和文件名的文件,在生成过程中记录写入操作的相关性能数据;
文件读取模块依据控制结点发送来的控制文件中的内容来读取相应的文件,并在读取过程中记录读取操作相关性能数据;
测试结果记录模块负责在读写操作过程中记录相应数据;
测试结果返回模块负责将写测试和读测试完成后的结果返回给控制结点。
[0007]—种对分布式文件系统进行读写基准测试方法,针对分布式文件系统架构的特性,将控制文件发送到各存储结点,由各存储结点独立执行写和读的测试,并且在写测试和读测试的过程中记录测试结果,并将测试结果返回到控制结点,由控制结点进行统一计算和评估。
[0008]所述方法包括分布式文件系统写测试流程如下:
控制节点接收到写测试命令后,由控制文件生成策略根据集群节点数量生成相应数量的控制文件,每份控制文件包含该存储节点生成的文件名,生成文件的大小;然后由该生成策略模块模拟高并发环境,将控制文件分发到各数据节点;各数据节点接收到控制文件后,按照控制文件内容执行生成文件操作,并且在写操作过程中由数据节点上的测试结果记录模块记录写操作过程的相应性能数据;在完成文件生成操作后,将节点上写测试结果返回到控制节点;控制节点在接收到各存储节点返回的测试结果后,由测试结果分析模块来收集结果数据并且进行分析统计,产生统一的测试结论数据;依据系统的配置将测试结论数据写入文件中或者在控制节点终端显示;
所述方法包括分布式文件系统读测试流程如下:
控制节点接收到读测试命令后,由控制文件生成策略根据集群节点数量生成相应数量的控制文件,每份控制文件包含该存储节点指定读取文件的文件名;然后由该生成策略模块模拟高并发环境,将控制文件分发到各数据节点;各数据节点接收到控制文件后,按照控制文件内容执行读取文件操作,在读取文件之前为了保证测试准确性,会先将本节点的读缓存进行清空操作;在读文件操作过程中由数据节点上的测试结果记录模块记录读操作过程的相应性能数据;在完成读取文件操作后,将节点上读测试结果返回到控制节点;控制节点在接收到各存储节点返回的测试结果后,由测试结果分析模块来收集结果数据并且进行分析统计,产生统一的测试结论数据;依据系统的配置将测试结论数据写入文件中或者在控制节点终端显示。
[0009]本发明的有益效果为:
通过控制文件来模拟实现高并发场景下的读写指令,每一个控制文件只有文件名、文件大小两项内容,所产生数据量很小,基本不会对分布式文件系统的读写测试产生影响,并且通过该测试架构有效提高了系统测试对存储结点的覆盖率,为系统的可靠的、准确评测各分布式文件系统产品的读写性能提供了一个统一的测试工具。
【专利附图】
【附图说明】
[0010]图1为分布式文件系统写测试结构示意图;
图2为分布式文件系统读测试结构示意图。
【具体实施方式】
[0011]下面参照附图,结合实施例对本发明详细说明。
[0012]实施例1:
一种对分布式文件系统进行读写基准测试的工具,主要包括控制结点和存储结点两个部分,其中:
控制结点包括控制文件生成策略、控制文件分发模块、通信模块、测试结果接收模块、测试结果分析模块,控制文件生成策略模拟高并发场景下,指定生成文件的大小,依据存储结点个数产生对应的控制文件数量以及相应的生成文件名;由控制文件分发模块通过通信模块将控制文件分发到各存储结点并执行;接收通信模块返回的各存储结点的测试结果,由测试结果分析模块依据统一的度量标准进行计算并将计算结果记入文件或展示在终端,其中:
控制文件分发模块负责模拟高并发状态下文件的写入和读取命令,并依据集群情况生成控制文件分发到各存储结点执行;
通信模块负责提供控制结点与存储结点的通信以及对故障结点的探测,发送控制结点的控制命令、并接收存储结点返回的测试结果;
测试结果接收模块接收通信模块返回的各存储结点的测试结果;
测试结果分析模块是负责测试结果的收集和处理、接受控制结点的调度,接收通过通信模块发来的存储结点的读写测试结果,并依据相关的度量算法计算写测试和读测试的性能数据,并将结果写入文件中或展示在终端;
存储结点包括文件写入模块、文件读取模块、测试结果记录模块、测试结果返回模块,依据通过通信模块接收到的控制文件来执行相应的文件生成或文件读取操作,并且在执行过程中记录相关的测试数据并将最终测试结果返回给控制结点,其中:
文件写入模块是依据控制结点发送来的控制文件中的内容来生成相应文件大小和文件名的文件,在生成过程中记录写入操作的相关性能数据;
文件读取模块依据控制结点发送来的控制文件中的内容来读取相应的文件,并在读取过程中记录读取操作相关性能数据;
测试结果记录模块负责在读写操作过程中记录相应数据; 测试结果返回模块负责将写测试和读测试完成后的结果返回给控制结点。
[0013]实施例2:
一种对分布式文件系统进行读写基准测试方法,针对分布式文件系统架构的特性,将控制文件发送到各存储结点,由各存储结点独立执行写和读的测试,并且在写测试和读测试的过程中记录测试结果,并将测试结果返回到控制结点,由控制结点进行统一计算和评估。
[0014]实施例3:
如图1所示,在实施例2的基础上,本实施例所述方法中分布式文件系统写测试流程如
下:
控制节点接收到写测试命令后,由控制文件生成策略根据集群节点数量生成相应数量的控制文件,每份控制文件包含该存储节点生成的文件名,生成文件的大小;然后由该生成策略模块模拟高并发环境,将控制文件分发到各数据节点;各数据节点接收到控制文件后,按照控制文件内容执行生成文件操作,并且在写操作过程中由数据节点上的测试结果记录模块记录写操作过程的相应性能数据;在完成文件生成操作后,将节点上写测试结果返回到控制节点;控制节点在接收到各存储节点返回的测试结果后,由测试结果分析模块来收集结果数据并且进行分析统计,产生统一的测试结论数据;依据系统的配置将测试结论数据写入文件中或者在控制节点终端显示。
[0015]实施例4:
如图2所示,在实施例2的基础上,本实施例所述方法中分布式文件系统读测试流程如
下:
控制节点接收到读测试命令后,由控制文件生成策略根据集群节点数量生成相应数量的控制文件,每份控制文件包含该存储节点指定读取文件的文件名;然后由该生成策略模块模拟高并发环境,将控制文件分发到各数据节点;各数据节点接收到控制文件后,按照控制文件内容执行读取文件操作,在读取文件之前为了保证测试准确性,会先将本节点的读缓存进行清空操作;在读文件操作过程中由数据节点上的测试结果记录模块记录读操作过程的相应性能数据;在完成读取文件操作后,将节点上读测试结果返回到控制节点;控制节点在接收到各存储节点返回的测试结果后,由测试结果分析模块来收集结果数据并且进行分析统计,产生统一的测试结论数据;依据系统的配置将测试结论数据写入文件中或者在控制节点终端显示。
【权利要求】
1.一种对分布式文件系统进行读写基准测试的工具,其特征在于,该工具主要包括控制结点和存储结点两个部分,其中: 控制结点包括控制文件生成策略、控制文件分发模块、通信模块、测试结果接收模块、测试结果分析模块,控制文件生成策略模拟高并发场景下,指定生成文件的大小,依据存储结点个数产生对应的控制文件数量以及相应的生成文件名;由控制文件分发模块通过通信模块将控制文件分发到各存储结点并执行;接收通信模块返回的各存储结点的测试结果,由测试结果分析模块依据统一的度量标准进行计算并将计算结果记入文件或展示在终端,其中: 控制文件分发模块负责模拟高并发状态下文件的写入和读取命令,并依据集群情况生成控制文件分发到各存储结点执行; 通信模块负责提供控制结点与存储结点的通信以及对故障结点的探测,发送控制结点的控制命令、并接收存储结点返回的测试结果; 测试结果接收模块接收通信模块返回的各存储结点的测试结果; 测试结果分析模块是负责测试结果的收集和处理、接受控制结点的调度,接收通过通信模块发来的存储结点的读写测试结果,计算写测试和读测试的性能数据,并将结果写入文件中或展示在终端; 存储结点包括文件写入模块、文件读取模块、测试结果记录模块、测试结果返回模块,依据通过通信模块接收到的控制文件来执行相应的文件生成或文件读取操作,并且在执行过程中记录相关的测试数据并将最终测试结果返回给控制结点,其中: 文件写入模块是依据控制结点发送来的控制文件中的内容来生成相应文件大小和文件名的文件,在生成过程中记录写入操作的相关性能数据; 文件读取模块依据控制结点发送来的控制文件中的内容来读取相应的文件,并在读取过程中记录读取操作相关性能数据; 测试结果记录模块负责在读写操作过程中记录相应数据; 测试结果返回模块负责将写测试和读测试完成后的结果返回给控制结点。
2.一种对分布式文件系统进行读写基准测试方法,其特征在于:针对分布式文件系统架构的特性,将控制文件发送到各存储结点,由各存储结点独立执行写和读的测试,并且在写测试和读测试的过程中记录测试结果,并将测试结果返回到控制结点,由控制结点进行统一计算和评估。
3.根据权利要求2所述的一种对分布式文件系统进行读写基准测试方法,其特征在于所述方法中分布式文件系统写测试流程如下: 控制节点接收到写测试命令后,由控制文件生成策略根据集群节点数量生成相应数量的控制文件,每份控制文件包含该存储节点生成的文件名,生成文件的大小;然后由该生成策略模块模拟高并发环境,将控制文件分发到各数据节点;各数据节点接收到控制文件后,按照控制文件内容执行生成文件操作,并且在写操作过程中由数据节点上的测试结果记录模块记录写操作过程的相应性能数据;在完成文件生成操作后,将节点上写测试结果返回到控制节点;控制节点在接收到各存储节点返回的测试结果后,由测试结果分析模块来收集结果数据并且进行分析统计,产生统一的测试结论数据;依据系统的配置将测试结论数据与入文件中或者在控制节点终端显不。
4.根据权利要求2所述的一种对分布式文件系统进行读写基准测试方法,其特征在于所述方法中分布式文件系统读测试流程如下: 控制节点接收到读测试命令后,由控制文件生成策略根据集群节点数量生成相应数量的控制文件,每份控制文件包含该存储节点指定读取文件的文件名;然后由该生成策略模块模拟高并发环境,将控制文件分发到各数据节点;各数据节点接收到控制文件后,按照控制文件内容执行读取文件操作,在读取文件之前为了保证测试准确性,会先将本节点的读缓存进行清空操作;在读文件操作过程中由数据节点上的测试结果记录模块记录读操作过程的相应性能数据;在完成读取文件操作后,将节点上读测试结果返回到控制节点;控制节点在接收到各存储节点返回的测试结果后,由测试结果分析模块来收集结果数据并且进行分析统计,产生统一的测试结论数据;依据系统的配置将测试结论数据写入文件中或者在控制节点终端显示。`
【文档编号】G06F3/06GK103617004SQ201310584942
【公开日】2014年3月5日 申请日期:2013年11月20日 优先权日:2013年11月20日
【发明者】陈刚 申请人:浪潮电子信息产业股份有限公司