CN106782668B - 一种测试内存读写极限速度的方法及装置 - Google Patents
一种测试内存读写极限速度的方法及装置 Download PDFInfo
- Publication number
- CN106782668B CN106782668B CN201611021917.5A CN201611021917A CN106782668B CN 106782668 B CN106782668 B CN 106782668B CN 201611021917 A CN201611021917 A CN 201611021917A CN 106782668 B CN106782668 B CN 106782668B
- Authority
- CN
- China
- Prior art keywords
- data
- read
- memory
- virtual block
- limit speed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012360 testing method Methods 0.000 title claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 16
- 230000007334 memory performance Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例公开了一种测试内存读写极限速度的方法及装置。其中,方法包括通过判断读写缓存区域存储的数据是否超出预设存储阈值决定对待处理的IO数据的处理方式,对于超出阈值的IO数据只对其IO流进行读写而不保存数据;而对未超过阈值的IO数据不仅对其IO流进行读写,还保存数据。然后计算单位时间内通过的最大IO流数,以完成对内存读写极限速度的测试。通过选择性保存数据,有效的避免了因内存占用率太高而导致系统运行太慢甚至瘫痪的现象,在保证计算速率和内存性能的基础上实现了对内存读写极限速度的测试。此外,本发明实施例还提供了相应的实现装置,进一步使得所述方法更具有实用性,所述装置具有相应的优点。
Description
技术领域
本发明涉及存储领域,特别是涉及一种测试内存读写极限速度的方法及装置。
背景技术
随着计算机技术的飞速发展和数字化时代的到来,在日常生活、科学研究以及公司业务中频繁的使用数字化和网络化技术,使得数据呈现爆炸式增长,而数据的产生往往是需要承载或记录的,这就迫使存储技术快速发展以容纳快速增长的数据。
内存(Memory)是计算机中重要的部件之一,它是与中央处理器进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存也被称为内存储器,其作用是用于暂时存放CPU(Central Pocessing Unit,中央处理器)中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。
虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。虚拟内存的使用大大拓展了内存设备的容量。
缓存和闪存成功应用,满足了各个计算机领域对于计算资源和计算速率的需求,极大的加快了数据的处理速度,而在使用内存设备时,用户操作的所有数据都是存储于内存中,这就引出了测试内存读写极限速度的要求。数据读写速度反映了内存的好坏,数据读写速度越慢,说明内存设备有损坏或内存占用率太高。为了应对大数据读写速度的高要求,需要对内存数据读写的极限速度进行测试,当速度不满足要求时,则需对内存进行清理或其他操作以满足需求。
现有技术对内存读写极限速度测试的方法主要是通过对大量的IO(Input/Output)数据进行读写,但是这些数据都直接存储到内存中,内存的容量有限,当存储的数据越多,性能降低越快,影响计算速率,随着数据的不断增加,最终可能导致死机。
发明内容
本发明实施例的目的是提供一种测试内存读写极限速度的方法及装置,有效的避免了因内存占用率太高而导致系统运行太慢甚至瘫痪的现象,在保证计算速率和内存性能的基础上实现了对读写极限速度的测试。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种测试内存读写极限速度的方法,包括:
创建虚拟块设备;
判断读写缓存区域存储的数据是否超出预设存储阈值;
当判定所述读写缓存区域存储的数据超出所述预设存储阈值时,对待处理的IO数据的IO流进行读写,不保存相应的数据;
当判定所述读写缓存区域存储的数据没有超出所述预设存储阈值时,对待处理的IO数据的IO流进行读写,并保存相应的数据;
计算单位时间内通过的最大IO流数,以对内存读写极限速度进行测试。
优选的,在在所述当判定所述读写缓存区域存储的数据没有超出所述预设存储阈值时,对待处理的IO数据的IO流进行读写,并保存相应的数据之后还包括:
判断所述IO数据是否在预设处理区段;
当判定所述IO数据不在所述预设处理区段时,对所述IO数据不做处理或丢弃所述IO数据;
当判定所述IO数据在所述预设处理区段时,对所述IO数据执行后续操作。
优选的,在所述创建虚拟块设备之前还包括:
获取所述虚拟块设备的配置信息,所述配置信息为以下任意一项或任意组合:
所述虚拟块设备的大小、所述虚拟块设备的名称或建立方式。
优选的,在所述计算单位时间内通过的最大IO流数,对内存读写极限速度进行测试之后还包括:
调用销毁函数对所述虚拟块设备进行删除。
优选的,所述调用销毁函数对所述虚拟块设备进行删除为:
调用销毁函数销毁工作队列、处理不在所述预设处理区段的所述IO数据、释放设备或删除配置信息以完成对所述虚拟块设备的删除。
本发明实施例另一方面提供了一种测试内存读写极限速度的装置,包括:
建立模块,用于创建虚拟块设备;
判断模块,用于判断读写缓存区域存储的数据是否超出预设存储阈值;
第一处理模块,用于当判定所述读写缓存区域存储的数据超出预设存储阈值时,对待处理的IO数据的IO流进行读写,不保存相应的数据;反之,则对待处理的IO数据的IO流进行读写,并保存相应的数据;
计算模块,用于计算单位时间内通过的最大IO流数,以对内存读写极限速度进行测试。
优选的,还包括第二处理模块;
所述第二处理模块包括:
判断单元,用于判断所述IO数据是否在预设处理区段;
处理单元,用于当判定所述IO数据不在所述预设处理区段时,对所述IO数据不做处理或丢弃所述IO数据;
反之,则对所述IO数据执行后续操作。
优选的,还包括:
获取信息模块,用于获取所述虚拟块设备的配置信息,所述配置信息为以下任意一项或任意组合:
所述虚拟块设备的大小、所述虚拟块设备的名称或建立方式。
优选的,还包括:
删除模块,用于调用销毁函数对所述虚拟块设备进行删除。
优选的,所述删除模块具体为:
调用销毁函数销毁工作队列、处理不在所述预设处理区段的所述IO数据、释放设备或删除配置信息以完成对所述虚拟块设备的删除。
本发明实施例提供了一种测试内存读写极限速度的方法,通过判断读写缓存区域存储的数据是否超出预设存储阈值决定对待处理的IO数据的处理方式,对于超出阈值的IO数据只对其IO流进行读写而不保存数据;而对未超过阈值的IO数据不仅对其IO流进行读写,还保存数据。然后计算单位时间内通过的最大IO流数,以完成对内存读写极限速度的测试。
本申请的技术方案避免了在内存中直接对数据进行读写处理,并通过选择性保存待处理的IO数据,这样在一定程度上就降低了内存的占用率,从而有效的避免了因内存占用率太高而导致系统运行太慢甚至瘫痪的现象,在保证计算速率和内存性能的基础上实现了对内存读写极限速度的测试。
此外,本发明实施例还针对测试内存读写极限速度的方法提供了相应的实现装置,进一步使得所述方法更具有实用性,所述装置具有相应的优点。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种测试内存读写极限速度方法的流程示意图;
图2为本发明实施例提供的另一种测试内存读写极限速度方法的流程示意图;
图3为本发明实施例提供的一种测试内存读写极限速度装置的结构图;
图4为本发明实施例提供的另一种测试内存读写极限速度装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
本申请的发明人经过研究发现,现有技术对内存读写极限速度测试的方法主要是通过对大量的IO数据进行读写,但是这些数据都直接存储到内存中,性能随着内存的占用率增加而逐渐降低,从而影响计算速率,随着数据的不断增加,最终可能导致死机。鉴于此,本申请通过判断虚拟块设备存储数据是否超出预设存储阈值决定对待处理的IO数据的处理方式,对于超出所述阈值的IO数据只对其IO流进行读写而不保存数据;而对未超过阈值的IO数据不仅对其IO流进行读写,还保存数据。然后计算单位时间内通过的最大IO流数,以完成对内存读写极限速度的测试。有效的避免了内存占用率太高而导致系统运行太慢甚至瘫痪的现象,在保证计算速率和内存性能的基础上实现了对读写极限速度的测试。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
实施例一:
首先参见图1,图1为本发明实施例提供的一种测试内存读写极限速度方法的流程示意图,本发明实施例可包括以下内容:
S101:创建虚拟块设备。
具体的,创建虚拟块设备是通过向内核传递参数来完成的虚拟块设备的创建,所述传递参数即为在所述创建虚拟块设备之前获取的所述虚拟块设备的配置信息。所述配置信息为以下任意一项或任意组合:
所述虚拟块设备的大小、所述虚拟块设备的名称或建立方式。
其中,所述虚拟块设备的名称用来标识该虚拟块设备,应该为唯一的,即不与其他设备名称或标识相重的,例如名称可以为主机的IP地址和创建的时间(优选的,时间可精确到秒)组成的序列号,如198.220.195.182.2016.10.24.15.26.30;虚拟块设备的大小即为可存储数据的容量,例如1T。
在完成对虚拟块设备的创建之后,还需要向系统注册块设备信息,并创建请求队列,对当前待处理的IO数据链表进行初始化处理。
S102:判断读写缓存区域存储的数据是否超出预设存储阈值。
因为数据在读写进入内存时先存放于读写缓存区域,故可用读写缓存区域存储的最佳状态来判断内存的最佳存储状态。
预设存储阈值,即为读写缓存区域存储数据的最大容量值,它可由内存确定,例如读写缓存区域的容量为100G,设置存储阈值为200G,当然该数据只是为了举例而示,实际操作中,并不限于这些数据。具体的,可通过确定内存存储数据的最佳存储值来决定,所述最佳存储值即为在不影响整体系统的性能,保证运算速率,且不会因为内存占用率的原因导致系统出现故障的情况下的最大内存存储量。
S103:当判定所述读写缓存区域存储的数据超出预设存储阈值时,对待处理的IO数据的IO流进行读写,不保存相应的数据。
当当前读写缓存区域存储的数据已经达到预设存储阈值时,说明进一步存储数据于内存,可能会导致系统运行变慢。对于待处理的IO数据,只能对其IO流进行处理,而IO对应的数据则不保存在内存里。可通过修改虚拟块设备的读写函数指针来确定将这些待处理的IO数据进行标识,表示只对其进行IO流的处理,而对应的数据不进行保存。例如,设置存储阈值为200G,测试当前读写缓存区域存储的数据为200G,就说明不可再进行存储数据,只对待处理的IO数据的IO流进行读写。当然上述例子只是为了举例而示,是为了让本领域相关人员更加容易理解本方案相关的技术方案,实际操作中,并不限于这些数据。
S104:当判定所述读写缓存区域存储的数据没有超出预设存储阈值时,对待处理的IO数据的IO流进行读写,并保存相应的数据。
当当前读写缓存区域存储的数据还没有达到预设存储阈值时,说明内存还可以继续存储数据。对于待处理的IO数据,可以将其数据保存在内存里,并对其IO流进行处理。当然,优选的,IO流的处理产生的数据也可进行保存。
需要说明的是,当判定所述读写缓存区域存储的数据没有超出预设存储阈值时,但是与所述存储阈值差别不大的时候,优选的,也可对待处理的IO数据不做保存,只处理IO流。例如,设置存储阈值为200G,测试当前读写缓存区域存储的数据为198G,虽然没有超过阈值,但是当待处理的IO数据太大时(例如50G),当保存数据时,很有可能会造成内存占用率太高而引起运行缓慢,故只对待处理的IO数据的IO流进行读写。当然,上述例子只是为了举例而示,是为了让本领域相关人员更加容易理解本方案相关的技术方案,实际操作中,并不限于这些数据。
此外,针对当前读写缓存区域存储的数据与预设存储阈值差别不大时,避免丢失重要的数据,可采用以下方案:
优选的,可预设第二存储阈值,进一步对其进行待处理IO数据进行判断。具体的,当判断待处理IO数据在保存后仍不超过所设第二存储阈值时,则将其IO数据进行保存并对IO流进行读写处理;当判断待处理IO数据在保存后超过所设第二存储阈值时,则不保存数据,只对IO进行处理。例如当前存储数据为195G,预设存储阈值为200G,第二存储阈值为220G。当待处理IO数据的容量为50G时,则只对其IO流进行读写,不保存数据;当待处理IO数据的容量为10G时,则对其IO流进行读写,并保存数据。当然,上述例子只是为了举例而示,是为了让本领域相关人员更加容易理解本方案相关的技术方案,实际操作中,并不限于这些数据。
优选的,当判断超过第二阈值时,可按照数据的重要性选择性的存储一部分数据使其不超过第二阈值,对于剩下的数据只处理IO流而不保存数据。例如上个例子中50G的待处理IO数据,可将其中25G的数据进行保存。当然,在数据重要性区别不大时,可随机分割成几部分。
此外,在对待处理IO数据进行处理时,可通过利用make_request函数创建mem_make_request函数,用于应答数据处理的请求。
S105:计算单位时间内通过的最大IO流数,以对内存读写极限速度进行测试。
表征内存读写的极限速度可计算单位时间内读写的最大IO流,例如在1s内读写IO流的数目;当然,也可以设置一段时间,在该时间段内读写的IO流总数与时间之商也同样可表征内存读写的极限速度,例如在1min内读写了60000条IO流,则在1s内平均读写1000条IO流。当然,优选的,上述一段时间应该限制为时间差较小的一段时间,即应该根据单位时间设置一个时间差阈值,也就是说与预设单位时间相差不大的时间差,例如,预设的单位时间为1s,则时间阈值为60s,时间差为1h则认为不能表征内存读写极限速度,但是时间差1min认为可表征内存读写极限速度。当然,上述例子只是为了让本领域相关人员更加容易理解本方案相关的技术方案而列举,实际操作中,并不限于这些数据。
由上可知,本发明实施例通过判断读写缓存区域的数据是否超出预设存储阈值决定对待处理的IO数据的处理方式,对于超出所述阈值的IO数据只对其IO流进行读写而不保存数据;而对未超过阈值的IO数据不仅对其IO流进行读写,还保存数据。通过计算单位时间内通过的最大IO流数,以完成对内存读写极限速度的测试。避免了在内存中直接对数据进行读写处理,并通过选择性保存待处理的IO数据,这样在一定程度上就降低了内存的占用率,从而有效的避免了因内存占用率太高而导致系统运行太慢甚至瘫痪的现象,在保证计算速率和内存性能的基础上实现了对内存读写极限速度的测试。
考虑在实际测试读写极限速度操作过程中,为了更方便的使用该方法,基于上述实施例做了部分改进。
实施例二:
参见图2,图2为本发明实施例提供的另一种测试内存读写极限速度方法的流程示意图,具体的可包括以下内容:
S201:创建虚拟块设备。
S202:判断读写缓存区域存储的数据是否超出预设存储阈值,如果否,则进入S203;如果是,则进入S204。
S203:对待处理的IO数据的IO流进行读写,不保存相应的数据。
S204:对待处理的IO数据的IO流进行读写,并保存相应的数据。
具体的,S201-S204与实施例一的S101-S104所描述一致,此处不再赘述。
S205:判断所述IO数据是否在预设处理区段,如果否,则进入S206;如果是,则进入S207。
对于保存数据的IO数据,考虑到扩展虚拟块设备的大小或处理数据的优先性,可预设处理区段,进一步对数据进行处理。举例来说,考虑到当前虚拟块设备的占用率太高,为了顺利处理IO流,则需要对保存的IO数据进行部分丢弃,则根据需要预设一个区段,如果保存的待处理数据的超过该预设区段时,则将其丢弃;又比如说考虑到有后续待处理数据比较重要时,排在前的数据只能处理一部分,则可根据需要预设处理区段对处于区段的进行处理,不在区段的不做任何处理。
S206:对所述IO数据不做处理或丢弃所述IO数据。
当IO数据不在预设处理区段,可分为两种情况即将不在区段的数据直接丢弃,或对不在区段的数据不做任何处理。具体的,可根据具体操作过程做选择,例如,当考虑到扩展虚拟块设备的大小时,需要丢弃数据,而考虑到处理数据的优先性时,可将数据丢弃,也可将数据选区段的做处理。举例来说,当前存储待处理数据为10G,预设处理区段为5G,则可以将10G数据分为两部分,丢弃5G的数据,处理5G的数据;或者处理5G的数据,另外5G数据不做处理。当然,上述例子只是为了让本领域相关人员更加容易理解本方案相关的技术方案而列举,实际操作中,并不限于这些数据。
S207:对所述IO数据执行后续操作。
对处理区段的所述IO数据进行下一步操作,例如读操作或写操作。
S208:计算单位时间内通过的最大IO流数,以对内存读写极限速度进行测试。
具体的,与实施例一的S105所描述一致,此处不再赘述。
可选的,在本实施例的另一些实施方式中,例如当前创建的虚拟块设备不满足当前需求时,需重新创建新的虚拟设备;又例如不需要进行虚拟块设备时,还可以包括:
调用销毁函数对所述虚拟块设备进行删除,具体为:
调用销毁函数销毁工作队列、处理不在所述预设处理区段的所述IO数据、释放设备或删除配置信息以完成对所述虚拟块设备的删除。
举例来说,当确定的待处理的IO数据都处理完毕后,处理未处理的数据例如丢弃或未进行读写的,然后可调用release_devicename作为销毁函数对当前创建的工作队列进行销毁或释放设备;当然,对于当虚拟块设备的配置信息需要更改时,同样可调用release_devicename对设备的配置信息进行删除;对于当整个虚拟块设备不在需要时,同样可调用release_devicename对其整个设备相关的信息都删除掉,以完成对虚拟块设备的删除。
由上可知,本发明实施例基于实施例一的基础上通过选区段的对保存的IO数据进行处理,具体的通过判断IO数据是否在预设处理区段,选择性的保留或丢弃某些区域段的IO数据,用来测试单位时间内通过的最大IO流数,以完成对内存读写极限速度进行测试。进一步的防止数据过大占用过量的内存,有效的避免了因内存占用率太高而导致系统运行太慢甚至瘫痪的现象,在保证计算速率和内存性能的基础上实现了对内存读写极限速度的测试。
本发明实施例还针对测试内存读写极限速度的方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的测试内存读写极限速度的装置进行介绍,下文描述的测试内存读写极限速度的装置与上文描述的测试内存读写极限速度的方法可相互对应参照。
实施例三:
参见图3,图3为本发明实施例提供的一种测试内存读写极限速度装置的结构图,该装置可包括:
建立模块301,用于创建虚拟块设备。
判断模块302,用于判断所述读写缓存区域的数据是否超出预设存储阈值。
第一处理模块303,用于当判定所述读写缓存区域的数据超出预设存储阈值时,对待处理的IO数据的IO流进行读写,不保存相应的数据。反之,则对待处理的IO数据的IO流进行读写,并保存相应的数据。
计算模块304,用于计算单位时间内通过的最大IO流数,以对内存读写极限速度进行测试。
本发明实施例所述一种测试内存读写极限速度装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本发明还实施例提供了一种测试内存读写极限速度装置,通过对超出预设存储阈值的IO数据只对其IO流进行读写而不保存数据,然后计算单位时间内通过的最大IO流数,以完成对内存读写极限速度的测试。避免了在内存中直接对数据进行读写处理,并通过选择性保存待处理的IO数据,这样在一定程度上就降低了内存的占用率,从而有效的避免了因内存占用率太高而导致系统运行太慢甚至瘫痪的现象,在保证计算速率和内存性能的基础上实现了对内存读写极限速度的测试。
实施例四:
在具体实现过程中,基于上述实施例三做了部分改进,请参阅图4,图4为本发明实施例提供的另一种测试内存读写极限速度装置的结构图。
在实施例三基本功能模块的基础上,还可以包括:
第二处理模块405,用于对所述没有超过预设存储阈值的所述IO数据进行选区段的处理。
所述第二处理模块包括:
判断单元4051,用于判断所述IO数据是否在预设处理区段;
处理单元4052,用于当判定所述IO数据不在所述预设处理区段时,对所述IO数据不做处理或丢弃所述IO数据;反之,则对所述IO数据执行后续操作。
可选的,在本实施例的一些实施方式中,所述装置例如还可以包括:
获取信息模块406,用于获取所述虚拟块设备的配置信息,所述配置信息为以下任意一项或任意组合:
所述虚拟块设备的大小、所述虚拟块设备的名称或建立方式。
可选的,在本实施例的另一些实施方式中,所述装置例如还可以包括:
删除模块407,用于调用销毁函数对所述虚拟块设备进行删除。
所述删除模块具体为:
调用销毁函数销毁工作队列、处理不在所述预设处理区段的所述IO数据、释放设备或删除配置信息以完成对所述虚拟块设备的删除。
本发明实施例所述一种测试内存读写极限速度装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。此外,相同功能模块的说明请参照实施例三,此处不再赘述。
本发明还实施例在实施例三的基础上通过对通过选区段的对保存的IO数据进行处理,然后计算单位时间内通过的最大IO流数,以完成对内存读写极限速度的测试。进一步的防止数据过大占用过量的内存,有效的避免了因内存占用率太高而导致系统运行太慢甚至瘫痪的现象,在保证计算速率和内存性能的基础上实现了对内存读写极限速度的测试。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的测试内存读写极限速度方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种测试内存读写极限速度的方法,其特征在于,包括:
创建虚拟块设备;
判断读写缓存区域存储的数据是否超出预设存储阈值;
当判定所述读写缓存区域存储的数据超出所述预设存储阈值时,对待处理的IO数据的IO流进行读写,不保存相应的数据;
当判定所述读写缓存区域存储的数据没有超出所述预设存储阈值时,对待处理的IO数据的IO流进行读写,并保存相应的数据;
计算单位时间内通过的最大IO流数,以对内存读写极限速度进行测试;
当判定所述读写缓存区域存储的数据没有超出所述预设存储阈值之后还包括:
判断所述IO数据是否在预设处理区段;
当判定所述IO数据不在所述预设处理区段时,对所述IO数据不做处理或丢弃所述IO数据;
当判定所述IO数据在所述预设处理区段时,对所述IO数据执行后续操作。
2.根据权利要求1所述的方法,其特征在于,在所述创建虚拟块设备之前还包括:
获取所述虚拟块设备的配置信息,所述配置信息为以下任意一项或任意组合:
所述虚拟块设备的大小、所述虚拟块设备的名称或建立方式。
3.根据权利要求1或2所述的方法,其特征在于,在所述计算单位时间内通过的最大IO流数,以对内存读写极限速度进行测试之后还包括:
调用销毁函数对所述虚拟块设备进行删除。
4.根据权利要求3所述的方法,其特征在于,所述调用销毁函数对所述虚拟块设备进行删除为:
调用销毁函数销毁工作队列、处理不在所述预设处理区段的所述IO数据、释放设备或删除配置信息以完成对所述虚拟块设备的删除。
5.一种测试内存读写极限速度的装置,其特征在于,包括:
建立模块,用于创建虚拟块设备;
判断模块,用于判断读写缓存区域存储的数据是否超出预设存储阈值;
处理模块,用于当判定所述读写缓存区域存储的数据超出所述预设存储阈值时,对待处理的IO数据的IO流进行读写,不保存相应的数据;反之,则对待处理的IO数据的IO流进行读写,并保存相应的数据;
计算模块,用于计算单位时间内通过的最大IO流数,以对内存读写极限速度进行测试;
还包括第二处理模块;
所述第二处理模块包括:
判断单元,用于判断所述IO数据是否在预设处理区段;
处理单元,用于当判定所述IO数据不在所述预设处理区段时,对所述IO数据不做处理或丢弃所述IO数据;反之,则对所述IO数据进行读写,并保存相应的数据。
6.根据权利要求5所述的装置,其特征在于,还包括:
获取信息模块,用于获取所述虚拟块设备的配置信息,所述配置信息为以下任意一项或任意组合:
所述虚拟块设备的大小、所述虚拟块设备的名称或建立方式。
7.根据权利要求5或6所述的装置,其特征在于,还包括:
删除模块,用于调用销毁函数对所述虚拟块设备进行删除。
8.根据权利要求7所述的装置,其特征在于,所述删除模块具体为:
调用销毁函数销毁工作队列、处理不在所述预设处理区段的所述IO数据、释放设备或删除配置信息以完成对所述虚拟块设备的删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611021917.5A CN106782668B (zh) | 2016-11-16 | 2016-11-16 | 一种测试内存读写极限速度的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611021917.5A CN106782668B (zh) | 2016-11-16 | 2016-11-16 | 一种测试内存读写极限速度的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106782668A CN106782668A (zh) | 2017-05-31 |
CN106782668B true CN106782668B (zh) | 2020-03-10 |
Family
ID=58969137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611021917.5A Active CN106782668B (zh) | 2016-11-16 | 2016-11-16 | 一种测试内存读写极限速度的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106782668B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108564985B (zh) * | 2018-03-16 | 2021-06-25 | 广州视源电子科技股份有限公司 | Emmc测试方法、装置、移动终端及存储介质 |
CN113806149B (zh) * | 2020-06-17 | 2024-01-26 | 中国电信股份有限公司 | 内存读写测试方法、装置以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103000228A (zh) * | 2011-09-08 | 2013-03-27 | 上海宝信软件股份有限公司 | 存储设备的测试方法及系统 |
CN105511802A (zh) * | 2015-11-24 | 2016-04-20 | 北京达沃时代科技有限公司 | 写缓存的方法和装置以及磁盘缓存区的同步方法和装置 |
CN105677258A (zh) * | 2016-02-23 | 2016-06-15 | 浪潮(北京)电子信息产业有限公司 | 一种日志数据管理方法及系统 |
CN105843852A (zh) * | 2016-03-16 | 2016-08-10 | 汉柏科技有限公司 | 日志存储管理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014022002A (ja) * | 2012-07-17 | 2014-02-03 | International Business Maschines Corporation | シーケンシャルにデータを記録する記憶装置及びそのテープスピードの変更方法する方法 |
-
2016
- 2016-11-16 CN CN201611021917.5A patent/CN106782668B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103000228A (zh) * | 2011-09-08 | 2013-03-27 | 上海宝信软件股份有限公司 | 存储设备的测试方法及系统 |
CN105511802A (zh) * | 2015-11-24 | 2016-04-20 | 北京达沃时代科技有限公司 | 写缓存的方法和装置以及磁盘缓存区的同步方法和装置 |
CN105677258A (zh) * | 2016-02-23 | 2016-06-15 | 浪潮(北京)电子信息产业有限公司 | 一种日志数据管理方法及系统 |
CN105843852A (zh) * | 2016-03-16 | 2016-08-10 | 汉柏科技有限公司 | 日志存储管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106782668A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828721B (zh) | 数据删除方法、装置、计算机设备及存储介质 | |
CN109428913B (zh) | 一种存储扩容方法及装置 | |
CN108959117B (zh) | H2d写操作加速方法、装置、计算机设备及存储介质 | |
CN111984610A (zh) | 数据压缩方法、装置及计算机可读存储介质 | |
CN106897231B (zh) | 一种基于高性能存储介质的数据缓存方法及系统 | |
CN111324303A (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN107025230B (zh) | 网络爬虫的处理方法及装置 | |
CN107122130B (zh) | 一种数据重删方法及装置 | |
US20200201763A1 (en) | Memory hierarchy-aware processing | |
CN106371764A (zh) | 一种虚拟块设备数据处理的方法及装置 | |
CN112286459A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN109471843A (zh) | 一种元数据缓存方法、系统及相关装置 | |
CN106782668B (zh) | 一种测试内存读写极限速度的方法及装置 | |
CN112506823A (zh) | 一种fpga数据读写方法、装置、设备及可读存储介质 | |
CN112835528A (zh) | 脏页刷新方法和装置、电子设备和存储介质 | |
CN110504002B (zh) | 一种硬盘数据一致性测试方法与装置 | |
CN103455436B (zh) | 一种ram检测方法及系统 | |
CN109656479B (zh) | 一种构建存储器命令序列的方法及装置 | |
CN111159124B (zh) | Linux内核文件系统异步写缓存方法、装置及介质 | |
JP2018132948A (ja) | 読込プログラム、読込方法および情報処理装置 | |
CN110007853B (zh) | 一种Nandflash命令处理方法、装置、终端及存储介质 | |
CN115951845A (zh) | 一种磁盘管理方法、装置、设备及存储介质 | |
CN111880735B (zh) | 一种存储系统中数据迁移方法、装置、设备及存储介质 | |
EP3296878B1 (en) | Electronic device and page merging method therefor | |
CN114816322A (zh) | Ssd的外部排序方法、装置和ssd存储器 |
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 |