档案系统的压力测试方法

上传人:ting****789 文档编号:310006872 上传时间:2022-06-14 格式:DOCX 页数:5 大小:20.77KB
返回 下载 相关 举报
档案系统的压力测试方法_第1页
第1页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《档案系统的压力测试方法》由会员分享,可在线阅读,更多相关《档案系统的压力测试方法(5页珍藏版)》请在金锄头文库上搜索。

1、档案系统的压力测试方法专利名称:档案系统的压力测试方法技术领域:本发明涉及一种档案系统的测试方法,特别是一种对利用多执行绪及多档案操作对档案系统进行压力测试的方法。背景技术: 档案系统是计算机操作系统的重要组成部份,其正常工作需要计算机存储设备和操作系统进行协调配合,合理调度。在压力越大的时候,也就是各种档案操作十分繁忙时,档案系统越容易出现错误,其在操作网络驱动器时尤为突出,所以通过模拟实际的操作环境,对档案系统进行压力测试就显得十分重要。档案系统进行压力测试的目的是给逻辑驱动器增加档案操作的压力,其操作对象包括硬盘(Hard Disk Device)、可移动内存(RemoveableSto

2、rage)、光盘驱动器(CDROM)、软盘驱动器(Floppy Disk)及网络驱动器(Network Device)等,档案操作包括读、写、拷贝、移动、创建及删除等。目前对档案系统的测试一般是对单个档案进行操作,通过档案操作路径的不同和档案创建方式的不同来模拟实际档案操作。档案的存储是从最先发现的空白簇开始,然后在最临近的空白簇继续存储,当档案删除后,原先占用的簇被释放,被释放的第一个簇将是下一个存储档案的第一个簇,如果再存储档案还将覆盖原先释放的簇。显然,对单个档案进行操作就只能在一个固定的存储区内进行,无法对整个存储区进行测试。如果想要扩大测试的存储区范围就只能通过增加档案的容量或者只写

3、不删。但单个档案再大,档案仍然只能存储在相对较临近的区域里,而且反复创建和删除,一旦次数超过逻辑驱动器磁盘读写次数的上限,就有可能损坏磁盘;只写不删虽然也扩大了存储区域,但是在实践中会导致测试和删除时间过长。目前档案测试的方法缺点十分明显,不但测试压力小,效率低,同时在对光盘驱动器(CDROM Driver)及软盘驱动器(Floppy Disk Driver)进行多执行绪(Multithreading)测试时不稳定,不能很好的模拟实际的档案操作,此时,就迫切需要一种能够增加测试压力,扩大测试覆盖区域,提高测试效率的档案系统压力测试方法来解决上述问题。本发明所提的一种档案系统的压力测试方法,包括

4、如下步骤启动数个档案测试执行绪;由操作系统从该数个执行绪中选取一个当前执行绪;该当前执行绪在选中期间顺序执行其测试操作,其中,每一个测试执行绪包括如下步骤提高自身在操作系统中的优先执行顺序;检测逻辑驱动器的剩余存储空间,并设定测试运行时间;根据该检测结果及该运行时间,执行该测试执行绪中的档案操作;结束该测试执行绪。与传统的检测方法相比,本发明提供的方法使用多执行绪和多档案操作来提高档案系统测试的压力及覆盖区域,通过特定算法合理调度各个执行绪,监控逻辑驱动器的剩余存储空间,从而更好的模拟现实环境下的档案操作。在对光盘驱动器执行测试时,通过共享方式打开光盘上的档案来读取整张光盘;在对软盘驱动器执行

5、测试时,每个执行绪只写入一个尽量小的档案,缩短响应时间,从而使针对光盘、软盘驱动器的测试可支持更多执行绪,实现了真正的多执行绪,提高了测试效率及压力。图1为本发明的档案系统的压力测试方法的总体流程图;图2为本发明所提的提高测试执行绪优先级的流程图;图3为本发明所提的根据该检测结果及该运行时间执行该测试执行绪中的档案操作的流程图;图4为本发明所提的返从该数个执行绪中分时交替选取一个当前执行绪的流程图。图中符号说明步骤110启动数个档案测试执行绪步骤120由操作系统从该数个执行绪中分时交替选取一个当前执行绪步骤130该当前执行绪在选中期间顺序执行其测试操作步骤140提高自身在操作系统的优先执行顺序

6、步骤150检测逻辑驱动器的剩余存储空间,设定测试运行时间步骤160根据检测结果及运行时间,执行测试执行绪中的档案操作步骤170结束测试执行绪步骤210获取该测试执行绪的编号步骤220根据该编号提高该测试执行绪在操作系统中的优先执行顺序步骤310当该逻辑驱动器无剩余存储空间时,结束该测试执行绪步骤320当该逻辑驱动器有剩余存储空间,且测试执行时间在该运行时间内的时,则继续执行该测试执行绪中的档案操作步骤330当该逻辑驱动器有剩余存储空间,但测试执行时间超出该运行时间时,结束该测试执行绪步骤410返回由操作系统从该数个执行绪中选取一个当前执行绪的步骤具体实施方式下面结合附图对本发明进行详细说明请参

7、见图1来说明,该图为本发明的档案系统的压力测试方法的总体流程图,说明如下首先启动数个档案测试执行绪(步骤110);然后由操作系统从该数个执行绪中选取一个当前执行绪(步骤120);最后该当前执行绪在选中期间顺序执行其测试操作(步骤130);每一个测试执行绪包括如下步骤提高自身在操作系统的优先执行顺序(步骤140);检测逻辑驱动器的剩余存储空间,并设定测试运行时间(步骤150);根据该检测结果及该运行时间,执行该测试执行绪中的档案操作(步骤160);结束该测试执行绪(步骤170)。测试执行绪中的档案操作中,可以包含多个档案操作过程,也可以只包含有一个档案操作过程,与测试对象的类型有关。当测试对象为

8、硬盘驱动器等存储容量较大的设备,则包含多个档案操作过程;如果是软盘驱动器等容量较小的设备,则只包括一个档案操作过程。档案操作类型包括读取档案、写入档案及读写档案等。本发明的执行流程是由内外两层控制程序组成,外层为操作系统的多执行绪的管理机制,用来启动多个执行绪,并从中选择一个预备执行的当前测试执行绪;内层为档案测试执行绪的控制机制,用来提高操作系统选择出的执行绪的优先级,检测逻辑驱动器的剩余存储空间及设定测试运行时间并控制其执行。在测试过程中,如果其中有多个执行绪的操作过程均为向逻辑驱动器内写入档案,而且各执行绪之间因为没有互相通讯而不能相互制约,很容易因该逻辑驱动器被写满而造成系统死机。这就

9、需要测试执行控制程序根据各个执行绪的档案操作方式,以及逻辑驱动器的剩余存储空间的检测情况,合理控制整个测试过程。检测逻辑驱动器的存储空间是通过检测算法对其存储空间的覆盖情况进行确定,为执行绪选择算法提供依据。要保证档案系统的压力测试能正常运行,不至于因逻辑驱动器存储空间被写满而死机,就必须在每次执行测试执行绪之前检测一遍其存储空间,调整检测算法,从而合理控制逻辑驱动器内存储空间的覆盖大小,为其设定一个即能保证测试压力,又能保证测试正常运行的剩余空间最小值,使测试更加真实。该剩余空间必须超过虚拟内存所在逻辑驱动器上的虚拟内存大小(因为虚拟内存实际上使用的是逻辑驱动器的存储空间)。测试执行绪越多,

10、对逻辑驱动器存储空间及虚拟内存的需求就越大。检测演算对于硬盘来说,如果其剩余的存储空间超过硬盘容量的2,则可以继续操作,如果其剩余的空间不足硬盘容量的2,则结束当前的档案系统测试线程。这里的2是一个经验数值,可根据具体情况进行变动。测试运行时间也是一个重要的测试参数,测试运行时间越大,逻辑驱动器内存储空间的覆盖空间也就越大,当测试执行绪较多时,为解决对逻辑驱动器存储空间及虚拟内存要求较高的问题,应该合理控制测试运时间。该测试运行时间的设定与被测试的对象有关,当被测试的对象为存储容量较小的软盘驱动器时,运行时间相应短一些;如果是容量较大的硬盘,则可以长一些。与检测逻辑驱动器存储空间的步骤进行配合

11、,即要保证测试覆盖范围足够大,同时也不能因为逻辑驱动器内存储空间被写满而导致系统死机。档案系统的压力测试的对象可以是各种存储设备,例如硬盘驱动器、软盘驱动器、光盘驱动器及移动存储驱动器等。下面,进一步说明本发明的流程。请参见图2,该图为本发明所提的提高测试执行绪优先级的流程图,说明如下首先获取该测试执行绪的编号(步骤210) 然后根据该编号提高该测试执行绪在操作系统中的优先执行顺序(步骤220);最后进入步骤130。档案系统的操作是操作系统中的较高层次的操作,操作系统为了提高多执行绪运行性能,分配给档案操作的优先级相对其他操作而言要低一些。这样,在档案按系统的压力测试项与其它测试项同时运行时,

12、该压力测试的项由于其优先级较低,对系统存储设备,也就是各个逻辑驱动器进行档案系统压力测试时,测试压力就会相应降低,甚至几乎为零,这就违背了压力测试的初衷。为了解决这个问题,只能提高操作系统中档案操作执行绪的优先级。在操作系统中,执行绪管理机制通过为每个执行绪分配一个编号,从而方便对不同执行绪进行识别和执行。在Windows操作系统中,通过调用Windows API函数就能获取执行绪的编号,然后根据该编号来找到相应的执行绪,通过档案测试执行绪的控制机制提高其优先级。在这里需要注意的是,档案操作的优先级提高后,在单独运行档案系统压力测试的测试项时,CPU(Central Processing Un

13、it中央处理器)时间的占用率会到100,其它的测试项将无法正常运行。为解决这个问题,本发明在档案系统压力测试中引入一个测试间隔(TestInterval)参数,使档案系统在每一次档案操作后都挂起一段时间,将CPU时间让给其它测试项,当档案系统就绪后再次得到CPU的优先响应。这样,不仅使对系统存储设备的测试压力明显提高,而且也不会对其他测试项的测试造成影响,从而提高了系统测试的效率。在档案系统的压力测试过程中,由于测试的需要,会在进行测试的当前逻辑驱动器上产生一些测试的临时档案,如果在测试过程中,测试程序非正常退出,清理这些临时档案会十分繁琐,而且如果清理不完全就会占用驱动器的存储空间,为此,本

14、发明为解决这个问题,为每个测试执行绪建立一个临时目录,并将这些临时档案存入该目录中,这样,测试完成后的临时档案清理就变得更为简单,只需要将临时目录删除即可。请参见图3,该图为本发明所提的根据该检测结果及该运行时间执行该测试执行绪中的档案操作的流程图,说明如下步骤140之后,当该逻辑驱动器无剩余存储空间时,结束该测试执行绪步骤(310);当该逻辑驱动器有剩余存储空间,且测试执行时间在该运行时间之内时,则继续执行该测试执行绪中的档案操作(步骤320);当该逻辑驱动器有剩余存储空间,但测试执行时间超出该运行时间时,结束该测试执行绪(步骤330)。根据检测算法检测逻辑驱动器存储空间覆盖情况当其剩余空间

15、等于或小于该剩余空间最小值时,说明该逻辑驱动器的剩余存储空间不足,结束该测试执行绪;当剩余空间大于该剩余空间最小值时,说明该逻辑驱动器的剩余存储空间足够,进一步判断执行绪的执行时间与设定的测试运行时间的关系;当该执行时间小于运行时间时,继续进行该测试执行绪,当该执行时间等于或者大于运行时间时,说明测试过程超时,结束该测试执行绪。请参见图4,该图为本发明所提的返回从该数个执行绪中分时交替选取一个当前执行绪的流程图,说明如下步骤160之后,返回由操作系统从该数个执行绪中选取一个当前执行绪的步骤(410)。当前测试执行绪执行完后,将重新由操作系统从数个档案测试执行绪中选择一个尚未执行的测试执行绪,继

16、续进行档案系统的压力测试,直到整个测试过程全部完成。下面用较佳的实施例来说明本发明的操作流程。测试对象以硬盘驱动器为例,在Windows下对该硬盘执行写入档案操作的测试。首先,启动两个测试执行绪10及20,每个执行绪包括两个执行写入档案操作过程,如上述表格所示,假设通过操作系统的执行绪管理机制选择执行绪10执行,并通过测试执行绪的控制机制提高执行绪10的优先级;在硬盘内创建一个档案名为File System_10的临时目录,存放测试临时档案A、B;检测硬盘的当前存储空间覆盖情况,并设定操作时间按为3秒;通过检测,当前硬盘剩余存储空间足够,判断执行绪的执行时间是否操作操作时间,当前执行时间为1秒,执行执行绪10的操作,向硬盘中写入档案A;然后再次检测硬盘的当前存储空间覆盖情况,当前硬盘存储空间依然足够,判断执行绪的执行时间是否操作操作时间,当前执行时间为2秒,继续执行该执行绪10的操作向硬盘中写入档案B;然后再次检测硬盘的当前存储空间覆盖情况,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号