CN107480039B - 一种分布式存储系统的小文件读写性能测试方法及装置 - Google Patents
一种分布式存储系统的小文件读写性能测试方法及装置 Download PDFInfo
- Publication number
- CN107480039B CN107480039B CN201710867038.2A CN201710867038A CN107480039B CN 107480039 B CN107480039 B CN 107480039B CN 201710867038 A CN201710867038 A CN 201710867038A CN 107480039 B CN107480039 B CN 107480039B
- Authority
- CN
- China
- Prior art keywords
- read
- storage system
- write
- distributed storage
- small
- 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.)
- Active
Links
- 238000011056 performance test Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 52
- WGZDBVOTUVNQFP-UHFFFAOYSA-N N-(1-phthalazinylamino)carbamic acid ethyl ester Chemical compound C1=CC=C2C(NNC(=O)OCC)=NN=CC2=C1 WGZDBVOTUVNQFP-UHFFFAOYSA-N 0.000 claims abstract description 86
- 238000012360 testing method Methods 0.000 claims abstract description 51
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 241001362551 Samba Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例公开了一种分布式存储系统的小文件读写性能测试方法、装置、设备及计算机可读存储介质。其中,方法包括接收用户输入的性能测试信息,根据性能测试信息创建多个执行线程,利用各执行线程同时通过调用CEPH分布式存储系统的动态库中的接口,根据性能测试信息对CEPH分布式存储系统中进行读写操作,并记录各线程每次读写完成一次小文件的时间及相应小文件的大小;根据性能测试信息、记录的信息计算各线程读写小文件的总数据量、总时间及总文件个数,以用于衡量分布式存储系统的小文件读写性能。避免了CEPH分布式存储系统小文件读写性能测试受客户端或协议的干扰,提高了CEPH分布式存储系统小文件读写性能测试的准确性。
Description
技术领域
本发明实施例涉及分布式存储技术领域,特别是涉及一种分布式存储系统的小文件读写性能测试方法、装置、设备及计算可读机存储介质。
背景技术
分布式存储系统,将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,同时存在着可靠性和安全性隐患,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但可提高系统的可靠性、可用性和存取效率,还易于扩展。
CEPH为一种扩展性高、可靠性高、性能高的分布式存储系统,支持文件系统,块存储,对象存储;借助于OpenStack快速的发展和其开源特性,吸引了越来越多的开发者在生产环境实践和探索。CEPH依靠其提供的统一存储系统,被广泛应用于云数据中心建设中。
在CEPH分布式存储系统中,大多数数据存储时为低于1M的小文件,例如在动漫场景中,且小文件的数量较多,那么对处理小文件性能进行测试和调试,为CEPH分布式存储系统的关键的一环。
在对CEPH分布式存储系统进行读写时,一般通过客户端进行读写,例如fuse,还可通过协议进行挂载,例如samba、cifs等。由于客户端和协议性能的限制,很难对分布式集群进行压力测试,即使进行测试,测试结果中会掺杂客户端和协议的影响因素,无法准确判断CEPH分布式存储系统的读写性能。
鉴于此,如何在对CEPH分布式存储系统的小文件读写性能进行测试时排除客户端和协议的影响,获得准确的小文件读写性能测试结果,是本领域技术人员亟待解决的问题。
发明内容
本发明实施例的目的是提供一种分布式存储系统的小文件读写性能测试方法、装置、设备及计算可读机存储介质,以解决客户端与协议挂载对CEPH分布式存储系统集群性能的干扰的问题,从而提高CEPH分布式存储系统的小文件读写性能测试的准确性。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种分布式存储系统的小文件读写性能测试方法,包括:
接收用户输入的性能测试信息,所述性能测试信息包括待测小文件的参数信息;
根据所述性能测试信息创建多个执行线程,利用各执行线程同时通过调用CEPH分布式存储系统的动态库中的接口,根据所述性能测试信息对所述CEPH分布式存储系统中进行读写操作,并记录各执行线程每次读写完成一次小文件的时间及相应小文件的大小;
根据所述性能测试信息、记录的信息计算各执行线程读写小文件的总数据量、总时间及总文件个数,以用于衡量所述CEPH分布式存储系统的小文件读写性能。
可选的,所述性能测试信息包括:
待测小文件的数量、大小范围、读写方式、线程数;
所述待测小文件的读写方式包括顺序读写或随机读写。
可选的,所述根据所述性能测试信息创建多个执行线程为:
根据所述性能测试信息中的线程数创建多个执行线程,所述执行线程的个数与所述线程数相同。
可选的,所述利用各执行线程同时通过调用CEPH分布式存储系统的动态库中的接口,根据所述性能测试信息对所述CEPH分布式存储系统中进行读写操作包括:
根据所述待测小文件的数量及大小范围随机产生满足条件的多个小文件;
每个执行线程通过调用CEPH分布式存储系统的动态库中的接口,向CEPH分布式存储系统按照读写方式对小文件进行读写,读写的小文件个数为所述性能测试信息中待测小文件的数量。
可选的,所述向CEPH分布式存储系统按照读写方式对小文件进行读写包括:
判断当前小文件的读取方式是否为顺序读写;
若是,则按照所述当前小文件内容顺序向CEPH分布式存储系统进行读写;若否,则调整所述当前小文件描述符的位置,向CEPH分布式存储系统随机读写所述当前小文件内容。
可选的,所述计根据所述性能测试信息、记录的信息计算各执行线程读写小文件的总数据量、总时间及总文件个数包括:
获取各执行线程每次读写完成一次小文件的时间及相应小文件的大小;
根据所述性能测试信息、各执行线程每次读写完成一次小文件的时间及相应小文件的大小计算各执行线程读写小文件的总数据量、总时间及总文件数;
根据各执行线程读写小文件的总数据量、总时间及总文件数,计算相应线程的读写速率、每秒读写的数据量及每秒读写的小文件数。
本发明实施例另一方面提供了一种分布式存储系统的小文件读写性能测试装置,包括:
获取测试信息模块,用于接收用户输入的性能测试信息,所述性能测试信息包括待测小文件的参数信息;
读写测试执行模块,用于根据所述性能测试信息创建多个执行线程,利用各执行线程同时通过调用CEPH分布式存储系统的动态库中的接口,根据所述性能测试信息对所述CEPH分布式存储系统中进行读写操作,并记录各执行线程每次读写完成一次小文件的时间及相应小文件的大小;
性能测试结果模块,用于根据所述性能测试信息、记录的信息计算各执行线程读写小文件的总数据量、总时间及总文件个数,以用于衡量所述CEPH分布式存储系统的小文件读写性能。
可选的,所述读写测试执行模块包括:
信息获取单元,用于获取各执行线程每次读写完成一次小文件的时间及相应小文件的大小;
第一计算单元,用于根据所述性能信息、各执行线程每次读写完成一次小文件的时间及相应小文件的大小计算各执行线程读写小文件的总数据量、总时间及总文件数;
第二计算单元,用于根据各执行线程读写小文件的总数据量、总时间及总文件数,计算相应线程的读写速率、每秒读写的数据量及每秒读写的小文件数。
本发明实施例还提供了一种分布式存储系统的小文件读写性能测试设备,包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时,实现如前任一项所述分布式存储系统的小文件读写性能测试方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有分布式存储系统的小文件读写性能测试程序,所述分布式存储系统的小文件读写性能测试程序被处理器执行时,实现前任一项所述分布式存储系统的小文件读写性能测试方法的步骤。
本发明实施例提供了一种分布式存储系统的小文件读写性能测试方法,接收用户输入的性能测试信息,根据性能测试信息创建多个执行线程,利用各执行线程同时通过调用CEPH分布式存储系统的动态库中的接口,根据性能测试信息对CEPH分布式存储系统中进行读写操作,并记录各线程每次读写完成一次小文件的时间及相应小文件的大小;根据性能测试信息、记录的信息计算各线程读写小文件的总数据量、总时间及总文件个数,以用于衡量分布式存储系统的小文件读写性能。
本申请提供的技术方案的优点在于,直接调用CEPH分布式存储系统集群的动态库来实现对CEPH分布式存储系统的小文件读写测试,无需挂载在客户端或利用协议挂载,从而避免了在CEPH分布式存储系统进行小文件读写性能测试中受客户端或协议的干扰,提高了CEPH分布式存储系统小文件读写性能测试的准确性,获得准确的小文件读写性能测试结果;此外,还有利于间接的定位客户端或协议挂载中是否存在影响小文件读写性能的问题。
此外,本发明实施例还针对分布式存储系统的小文件读写性能测试方法提供了相应的实现装置、设备及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、设备及计算机可读存储介质具有相应的优点。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式存储系统的小文件读写性能测试方法的流程示意图;
图2为本发明实施例提供的另一种分布式存储系统的小文件读写性能测试方法的流程示意图;
图3为本发明实施例提供的分布式存储系统的小文件读写性能测试装置的一种具体实施方式结构图;
图4为本发明实施例提供的分布式存储系统的小文件读写性能测试设备的一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种分布式存储系统的小文件读写性能测试方法的流程示意图,本发明实施例可包括以下内容:
S101:接收用户输入的性能测试信息,性能测试信息包括待测小文件的参数信息。
S102:根据性能测试信息创建多个执行线程,利用各执行线程同时通过调用CEPH分布式存储系统的动态库中的接口,根据性能测试信息对CEPH分布式存储系统中进行读写操作,并记录各执行线程每次读写完成一次小文件的时间及相应小文件的大小。
S103:根据性能测试信息、记录的信息计算各执行线程读写小文件的总数据量、总时间及总文件个数,以用于衡量CEPH分布式存储系统的小文件读写性能。
用户通过输入性能测试信息,实现对CEPH分布式存储系统的模拟测试场景的控制,可根据CEPH分布式存储系统的环境、运行任务等实际情况进行参数的选取,从而准确、有针对性的CEPH分布式存储系统的小文件读写性能进行测试。
性能测试信息可包括待测小文件的数量、大小范围、读写方式、线程数。
待测小文件大小范围为待测小文件的大小的限定,举例来说,待测小文件的大小范围为4k-512k,那么N个待测小文件,每个小文件的小大皆在4k-512k内,例如513k的小文件则为不满足条件的待测小文件。
根据性能测试信息中的线程数创建执行线程,执行线程的创建个数与性能测试信息中的线程数相等,每个执行线程读取的小文件个数为待测小文件的数量,举例来说,性能测试信息可包括待测小文件的数量为N,线程数为P,则创建P个执行线程,每个执行线程读写小文件的个数为N,且这P个执行线程同时对小文件进行读写。
读写方式包括顺序读写或随机读写,不同的读写方式,在调用接口向CEPH分布式存储系统进行读写操作时,读写文件的内容顺序不同,具体可为:
判断当前小文件的读取方式是否为顺序读写;
若是,则按照当前小文件内容顺序向CEPH分布式存储系统进行读写;若否,则调整当前小文件描述符的位置,向CEPH分布式存储系统随机读写当前小文件内容。
为了避免客户端或协议挂载干扰CEPH分布式存储系统小文件读写性能测试,不利于客户端对CEPH分布式存储系统进行读写操作,通过创建执行线程进行读写操作,执行线程调用CEPH分布式存储系统动态库的接口,通过接口向CEPH分布式存储系统进行数据的读写。
具体可为:
根据待测小文件的数量及大小范围随机产生满足条件的多个小文件;
每个执行线程通过调用CEPH分布式存储系统的动态库中的接口,向CEPH分布式存储系统按照读写方式对小文件进行读写,读写的小文件个数为性能测试信息中待测小文件的数量。
满足条件的多个小文件即指产生的小文件的个数为待测小文件的数量,每个小文件的大小皆在大小范围内。
每个执行线程依次读写每个待测小文件,直至读写完成所有待测小文件,每完成一次小文件的读写,记录本次读写所用的时间以及读写小文件的大小。
计算CEPH分布式存储系统小文件的读写性能衡量指标参数可如下所示:
记录的信息指代各执行线程每次读写完成一次小文件的时间及相应小文件的大小。
获取各执行线程每次读写完成一次小文件的时间及相应小文件的大小;
根据性能信息、各执行线程每次读写完成一次小文件的时间及相应小文件的大小计算各执行线程读写小文件的总数据量、总时间及总文件数;
根据各执行线程读写小文件的总数据量、总时间及总文件数,计算相应线程的读写速率、每秒读写的数据量及每秒读写的小文件数。
可利用执行执行线程的读写速率、每秒读写的数据量及每秒读写的小文件数作为衡量CEPH分布式存储系统小文件的读写性能优劣的指标。
在本发明实施例提供的技术方案中,直接调用CEPH分布式存储系统集群的动态库来实现对CEPH分布式存储系统的小文件读写测试,无需挂载在客户端或利用协议挂载,从而避免了在CEPH分布式存储系统进行小文件读写性能测试中受客户端或协议的干扰,提高了CEPH分布式存储系统小文件读写性能测试的准确性,获得准确的小文件读写性能测试结果;此外,还有利于间接的定位客户端或协议挂载中是否存在影响小文件读写性能的问题。
为了便于本领域技术人员更加清楚明白本申请提供技术方案,本申请还提供了另外一个实施例,应用于CEPH分布式存储系统,请参见图2,图2为本发明实施例提供的另一种分布式存储系统的小文件读写性能测试方法的流程示意图,具体的可包括以下内容:
S201:接收用户输入的待测小文件的数量N、大小范围R、读写方式、线程数P。
S202:根据待测小文件的数量N、大小范围R随机产生N个小文件,每个小文件的大小在R内,并根据线程数P创建P个执行线程。
S203:利用各执行线程同时通过调用CEPH分布式存储系统的动态库中的接口,向CEPH分布式存储系统中进行读写操作。
S204:记录各执行线程每次读写完成一次小文件的时间及相应小文件的大小。
S205:根据待测小文件的数量N、各执行线程每次读写完成一次小文件的时间及相应小文件的大小计算各执行线程读写小文件的总数据量、总时间及总文件数。
S206:根据各执行线程读写小文件的总数据量、总时间及总文件数,计算相应执行线程的读写速率、每秒读写的数据量及每秒读写的小文件数。
根据各执行线程的读写速率、每秒读写的数据量及每秒读写的小文件数,衡量CEPH分布式存储系统小文件的读写性能。
本发明实施例通过模拟融合的形式,直接调用ceph动态库中的接口,减少客户端或者协议挂载的干扰,来模拟小文件对ceph集群进行读写操作。不仅可控制小文件的数量、文件大小的范围、线程的数量、读写的形式(顺序IO和随机IO)来模拟不同场景下的小文件读写过程来测试ceph集群性能和对ceph集群进行调试;还可通过间接的定位客户端或协议挂载中是否存在影响小文件IO性能的问题。
本发明实施例还针对分布式存储系统的小文件读写性能测试方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的分布式存储系统的小文件读写性能测试装置进行介绍,下文描述的分布式存储系统的小文件读写性能测试装置与上文描述的分布式存储系统的小文件读写性能测试方法可相互对应参照。
参见图3,图3为本发明实施例提供的分布式存储系统的小文件读写性能装置在一种具体实施方式下的结构图,该装置可包括:
获取测试信息模块301,用于接收用户输入的性能测试信息,性能测试信息包括待测小文件的参数信息;
读写测试执行模块302,用于根据性能测试信息创建多个执行线程,利用各执行线程同时通过调用CEPH分布式存储系统的动态库中的接口,根据性能测试信息对CEPH分布式存储系统中进行读写操作,并记录各执行线程每次读写完成一次小文件的时间及相应小文件的大小;
性能测试结果模块303,用于根据性能测试信息、记录的信息计算各执行线程读写小文件的总数据量、总时间及总文件个数,以用于衡量CEPH分布式存储系统的小文件读写性能。
可选的,在本实施例的一些实施方式中,读写测试执行模块302可包括:
信息获取单元,用于获取各执行线程每次读写完成一次小文件的时间及相应小文件的大小;
第一计算单元,用于根据性能信息、各执行线程每次读写完成一次小文件的时间及相应小文件的大小计算各执行线程读写小文件的总数据量、总时间及总文件数;
第二计算单元,用于根据各执行线程读写小文件的总数据量、总时间及总文件数,计算相应线程的读写速率、每秒读写的数据量及每秒读写的小文件数。
可选的,在本实施例的另外实施方式中,所述读写测试执行模块302可为根据性能测试信息中的线程数创建多个执行线程,执行线程的个数与线程数相同的模块。
所述读写测试执行模块302还可为根据待测小文件的数量及大小范围随机产生满足条件的多个小文件;每个执行线程通过调用CEPH分布式存储系统的动态库中的接口,向CEPH分布式存储系统按照读写方式对小文件进行读写,读写的小文件个数为性能测试信息中待测小文件的数量的模块。
此外,所述读写测试执行模块302可包括:
判断单元,用于判断当前小文件的读取方式是否为顺序读写;
判断执行单元,用于若是,则按照当前小文件内容顺序向CEPH分布式存储系统进行读写;若否,则调整当前小文件描述符的位置,向CEPH分布式存储系统随机读写当前小文件内容的模块。
在本实施例的其他一些实施方式中,所述获取测试信息模块301可为接收用户输入的待测小文件的数量、大小范围、读写方式、线程数,待测小文件的读写方式包括顺序读写或随机读写的模块。
本发明实施例所述分布式存储系统的小文件读写性能测试装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例直接调用CEPH分布式存储系统集群的动态库来实现对CEPH分布式存储系统的小文件读写测试,无需挂载在客户端或利用协议挂载,从而避免了在CEPH分布式存储系统进行小文件读写性能测试中受客户端或协议的干扰,提高了CEPH分布式存储系统小文件读写性能测试的准确性,获得准确的小文件读写性能测试结果;此外,还有利于间接的定位客户端或协议挂载中是否存在影响小文件读写性能的问题。
本发明实施例还提供了一种分布式存储系统的小文件读写性能测试设备,请参阅图4,可包括:
存储器401,用于存储计算机程序;
处理器402,用于执行计算机程序以实现如上任意一实施例所述分布式存储系统的小文件读写性能测试方法的步骤。
本发明实施例所述分布式存储系统的小文件读写性能测试设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例避免了在CEPH分布式存储系统进行小文件读写性能测试中受客户端或协议的干扰,提高了CEPH分布式存储系统小文件读写性能测试的准确性。
本发明实施例还提供了一种计算机可读存储介质,存储有分布式存储系统的小文件读写性能测试程序,所述分布式存储系统的小文件读写性能测试程序被处理器执行时如上任意一实施例所述分布式存储系统的小文件读写性能测试方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例避免了在CEPH分布式存储系统进行小文件读写性能测试中受客户端或协议的干扰,提高了CEPH分布式存储系统小文件读写性能测试的准确性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种分布式存储系统的小文件读写性能测试方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (7)
1.一种分布式存储系统的小文件读写性能测试方法,其特征在于,包括:
接收用户输入的性能测试信息,所述性能测试信息包括待测小文件的数量、大小范围、读写方式、线程数;所述待测小文件的读写方式包括顺序读写或随机读写;
根据所述性能测试信息创建多个执行线程,利用各执行线程同时通过调用CEPH分布式存储系统的动态库中的接口,根据所述性能测试信息对所述CEPH分布式存储系统中进行读写操作,并记录各执行线程每次读写完成一次小文件的时间及相应小文件的大小;
根据所述性能测试信息、记录的信息计算各执行线程读写小文件的总数据量、总时间及总文件个数,以用于衡量所述CEPH分布式存储系统的小文件读写性能;
其中,所述根据所述性能测试信息、记录的信息计算各执行线程读写小文件的总数据量、总时间及总文件个数包括:
获取各执行线程每次读写完成一次小文件的时间及相应小文件的大小;
根据所述性能测试信息、各执行线程每次读写完成一次小文件的时间及相应小文件的大小计算各执行线程读写小文件的总数据量、总时间及总文件数;
根据各执行线程读写小文件的总数据量、总时间及总文件数,计算相应线程的读写速率、每秒读写的数据量及每秒读写的小文件数。
2.根据权利要求1所述的分布式存储系统的小文件读写性能测试方法,其特征在于,所述根据所述性能测试信息创建多个执行线程为:
根据所述性能测试信息中的线程数创建多个执行线程,所述执行线程的个数与所述线程数相同。
3.根据权利要求1所述的分布式存储系统的小文件读写性能测试方法,其特征在于,所述利用各执行线程同时通过调用CEPH分布式存储系统的动态库中的接口,根据所述性能测试信息对所述CEPH分布式存储系统中进行读写操作包括:
根据所述待测小文件的数量及大小范围随机产生满足条件的多个小文件;
每个执行线程通过调用CEPH分布式存储系统的动态库中的接口,向CEPH分布式存储系统按照读写方式对小文件进行读写,读写的小文件个数为所述性能测试信息中待测小文件的数量。
4.根据权利要求3所述的分布式存储系统的小文件读写性能测试方法,其特征在于,所述向CEPH分布式存储系统按照读写方式对小文件进行读写包括:
判断当前小文件的读取方式是否为顺序读写;
若是,则按照所述当前小文件内容顺序向CEPH分布式存储系统进行读写;若否,则调整所述当前小文件描述符的位置,向CEPH分布式存储系统随机读写所述当前小文件内容。
5.一种分布式存储系统的小文件读写性能测试装置,其特征在于,包括:
获取测试信息模块,用于接收用户输入的性能测试信息,所述性能测试信息包括待测小文件的数量、大小范围、读写方式、线程数;所述待测小文件的读写方式包括顺序读写或随机读写;
读写测试执行模块,用于根据所述性能测试信息创建多个执行线程,利用各执行线程同时通过调用CEPH分布式存储系统的动态库中的接口,根据所述性能测试信息对所述CEPH分布式存储系统中进行读写操作,并记录各执行线程每次读写完成一次小文件的时间及相应小文件的大小;
性能测试结果模块,用于根据所述性能测试信息、记录的信息计算各执行线程读写小文件的总数据量、总时间及总文件个数,以用于衡量所述CEPH分布式存储系统的小文件读写性能;
其中,所述读写测试执行模块包括:
信息获取单元,用于获取各执行线程每次读写完成一次小文件的时间及相应小文件的大小;
第一计算单元,用于根据所述性能信息、各执行线程每次读写完成一次小文件的时间及相应小文件的大小计算各执行线程读写小文件的总数据量、总时间及总文件数;
第二计算单元,用于根据各执行线程读写小文件的总数据量、总时间及总文件数,计算相应线程的读写速率、每秒读写的数据量及每秒读写的小文件数。
6.一种分布式存储系统的小文件读写性能测试设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时,实现如权利要求1至4任一项所述分布式存储系统的小文件读写性能测试方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有分布式存储系统的小文件读写性能测试程序,所述分布式存储系统的小文件读写性能测试程序被处理器执行时,实现如权利要求1至4任一项所述分布式存储系统的小文件读写性能测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710867038.2A CN107480039B (zh) | 2017-09-22 | 2017-09-22 | 一种分布式存储系统的小文件读写性能测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710867038.2A CN107480039B (zh) | 2017-09-22 | 2017-09-22 | 一种分布式存储系统的小文件读写性能测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107480039A CN107480039A (zh) | 2017-12-15 |
CN107480039B true CN107480039B (zh) | 2020-12-04 |
Family
ID=60585771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710867038.2A Active CN107480039B (zh) | 2017-09-22 | 2017-09-22 | 一种分布式存储系统的小文件读写性能测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107480039B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108364670B (zh) * | 2018-02-06 | 2020-12-08 | 珠海全志科技股份有限公司 | 读写压力测试方法、装置、设备及存储介质 |
CN108829573A (zh) * | 2018-06-20 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种基于Linux系统小文件预读功能的可靠性测试方法 |
CN109086214A (zh) * | 2018-09-18 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种数据库写性能测试方法、装置、终端及存储介质 |
CN109634824B (zh) * | 2018-12-03 | 2023-03-14 | 郑州云海信息技术有限公司 | 一种广电业务场景下的分布式存储性能测试方法及系统 |
CN109976957B (zh) * | 2019-02-11 | 2022-04-15 | 平安科技(深圳)有限公司 | librgw的性能测试方法、装置和计算机设备 |
CN109828890A (zh) * | 2019-03-01 | 2019-05-31 | 浪潮商用机器有限公司 | 一种硬盘的测试数据整理方法、装置、设备及存储介质 |
CN109947613B (zh) * | 2019-03-26 | 2023-03-24 | 北京百度网讯科技有限公司 | 文件读取测试方法和装置 |
CN111400117B (zh) * | 2020-03-12 | 2023-07-11 | 山东汇贸电子口岸有限公司 | 一种自动化测试Ceph集群的方法 |
CN111813334B (zh) * | 2020-06-04 | 2024-04-05 | 中国科学院上海微系统与信息技术研究所 | 一种Ceph的写性能优化和双控节点组合方法 |
CN111986726A (zh) * | 2020-08-11 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 文件读性能测试方法、装置、设备及存储介质 |
CN112799969A (zh) * | 2021-04-08 | 2021-05-14 | 蚂蚁金服(杭州)网络技术有限公司 | 分布式文件系统的测试方法、装置及系统 |
CN113608974B (zh) * | 2021-06-29 | 2023-12-22 | 济南浪潮数据技术有限公司 | 一种分布式存储系统的性能压测方法、系统及相关组件 |
CN114564460B (zh) * | 2022-02-25 | 2024-01-19 | 苏州浪潮智能科技有限公司 | 基于分布式存储系统的参数调优方法、装置、设备及介质 |
CN115658450B (zh) * | 2022-10-20 | 2023-05-16 | 广州思智时代科技有限公司 | 一种软件测试系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787460A (zh) * | 2004-12-10 | 2006-06-14 | 中兴通讯股份有限公司 | 一种通信协议一致性测试系统 |
CN104778270A (zh) * | 2015-04-24 | 2015-07-15 | 成都汇智远景科技有限公司 | 一种用于多文件的存储方法 |
US9141814B1 (en) * | 2014-06-03 | 2015-09-22 | Zettaset, Inc. | Methods and computer systems with provisions for high availability of cryptographic keys |
CN105354145A (zh) * | 2015-12-08 | 2016-02-24 | 浪潮电子信息产业股份有限公司 | 一种文件系统posix一致性测试工具pjd-fstest的优化方法 |
CN106294526A (zh) * | 2015-06-26 | 2017-01-04 | 华中科技大学 | 一种分级存储系统中的海量小文件迁移方法 |
CN106776166A (zh) * | 2016-12-06 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种RDMA模式下Ceph存储集群测试方法及系统 |
CN106911522A (zh) * | 2017-04-20 | 2017-06-30 | 广东浪潮大数据研究有限公司 | 一种基于云环境的故障处理方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8752020B2 (en) * | 2008-08-21 | 2014-06-10 | International Business Machines Corporation | System and process for debugging object-oriented programming code leveraging runtime metadata |
KR20110065067A (ko) * | 2009-12-09 | 2011-06-15 | 삼성전자주식회사 | 멀티 쓰레드 테스팅시 발생되는 에러 정보에 대한 비주얼 인터페이스를 제공하는 장치 및 방법 |
CN102739470A (zh) * | 2012-05-29 | 2012-10-17 | 百度在线网络技术(北京)有限公司 | 一种实现hadoop系统测试的方法和装置 |
CN104281414B (zh) * | 2013-07-10 | 2018-07-06 | 南京中兴软件有限责任公司 | 分布式文件系统及其小文件访问方法 |
CN103617004A (zh) * | 2013-11-20 | 2014-03-05 | 浪潮电子信息产业股份有限公司 | 一种对分布式文件系统进行读写基准测试的工具及方法 |
CN105808428B (zh) * | 2016-03-03 | 2018-09-14 | 南京大学 | 一种对分布式文件系统进行统一性能测试的方法 |
CN106021045B (zh) * | 2016-05-11 | 2019-07-23 | 深圳市同泰怡信息技术有限公司 | 一种linux系统下服务器硬盘IO性能的测试方法 |
-
2017
- 2017-09-22 CN CN201710867038.2A patent/CN107480039B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787460A (zh) * | 2004-12-10 | 2006-06-14 | 中兴通讯股份有限公司 | 一种通信协议一致性测试系统 |
US9141814B1 (en) * | 2014-06-03 | 2015-09-22 | Zettaset, Inc. | Methods and computer systems with provisions for high availability of cryptographic keys |
CN104778270A (zh) * | 2015-04-24 | 2015-07-15 | 成都汇智远景科技有限公司 | 一种用于多文件的存储方法 |
CN106294526A (zh) * | 2015-06-26 | 2017-01-04 | 华中科技大学 | 一种分级存储系统中的海量小文件迁移方法 |
CN105354145A (zh) * | 2015-12-08 | 2016-02-24 | 浪潮电子信息产业股份有限公司 | 一种文件系统posix一致性测试工具pjd-fstest的优化方法 |
CN106776166A (zh) * | 2016-12-06 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种RDMA模式下Ceph存储集群测试方法及系统 |
CN106911522A (zh) * | 2017-04-20 | 2017-06-30 | 广东浪潮大数据研究有限公司 | 一种基于云环境的故障处理方法及系统 |
Non-Patent Citations (1)
Title |
---|
cephfs的测试简报;ceph;《http://www.yangguanjun.com/2017/07/16/cephfs-test-method-lite/》;20170716;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107480039A (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107480039B (zh) | 一种分布式存储系统的小文件读写性能测试方法及装置 | |
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
CN109542789B (zh) | 一种代码覆盖率统计方法及装置 | |
US9465718B2 (en) | Filter generation for load testing managed environments | |
CN108563548A (zh) | 异常检测方法及装置 | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
CN109815119B (zh) | 一种app链接渠道的测试方法及装置 | |
CN104423961B (zh) | 一种生成测试脚本的方法及系统 | |
CN107220121B (zh) | 一种numa架构下沙箱环境测试方法及其系统 | |
CN105045602A (zh) | 一种构建Hadoop应用开发框架的方法、装置及电子装置 | |
CN111949545A (zh) | 自动化测试方法、系统、服务器及存储介质 | |
CN108959055A (zh) | xfs文件系统的读写性能测试方法、装置及设备 | |
CN105630683A (zh) | 一种云测试体系架构 | |
US9811447B2 (en) | Generating a fingerprint representing a response of an application to a simulation of a fault of an external service | |
CN107704350A (zh) | 一种自动化测试SSD Qos的测试方法 | |
CN117539754A (zh) | 压力测试方法、装置、存储介质及电子设备 | |
CN111400171B (zh) | 一种接口测试方法、系统、装置及可读存储介质 | |
CN112905449A (zh) | 目标测试方法、装置、设备和存储介质 | |
CN110134609A (zh) | 企业级web应用系统页面性能检测方法、装置及介质 | |
CN107193636A (zh) | 一种numa架构下沙箱环境内虚拟任务模拟方法及装置 | |
CN110347607A (zh) | 一种数据上链测试方法 | |
CN107590044B (zh) | 一种分布式存储集群的测试方法、装置及设备 | |
CN115687129A (zh) | 一种覆盖率报告生成方法、装置、存储介质和计算机设备 | |
CN114168456A (zh) | 一种基于3d-gis的前端性能自动化测试方法 | |
CN114020717A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |