CN105912435A - 一种磁盘压力测试方法及装置 - Google Patents
一种磁盘压力测试方法及装置 Download PDFInfo
- Publication number
- CN105912435A CN105912435A CN201610202931.9A CN201610202931A CN105912435A CN 105912435 A CN105912435 A CN 105912435A CN 201610202931 A CN201610202931 A CN 201610202931A CN 105912435 A CN105912435 A CN 105912435A
- Authority
- CN
- China
- Prior art keywords
- disk
- stress test
- tested
- list
- drive
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供了一种磁盘压力测试方法及装置,该方法包括:首先获取每一个待测试磁盘的标识;以及根据获取到的标识以及预先设置好的磁盘压力测试程序,编辑该磁盘压力测试程序中的磁盘列表;然后,启动与该磁盘列表相对应的多个线程,并利用该多个线程执行所述磁盘压力测试程序。通过多线程同时运行磁盘压力测试程序,可以实现多个磁盘的多盘位并发压力测试,因此,本方案能够提高服务器磁盘压力测试的效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种磁盘压力测试方法及装置。
背景技术
随着磁盘技术的不断发展,为了满足服务器数据存储空间的日益增长,单个磁盘的容量变得越来越大。此外,随着访问服务器的用户越来越多,业务软件的读写操作愈加频繁,故对磁盘的压力也就越大,磁盘阵列的整体I/O性能也受到影响。通过对服务器磁盘进行压力测试,能够使存在故障隐患的磁盘快速表现出故障问题。
目前,可以通过对待测试磁盘反复进行数据读写操作,以使异常磁盘在此压力环境下表现出故障问题,从而完成磁盘压力测试操作。
由于现有的磁盘压力测试方法是对单块待测试磁盘进行压力测试,故测试效率较低。
发明内容
本发明提供了一种磁盘压力测试方法及装置,能够提高服务器磁盘压力测试的效率。
为了达到上述目的,本发明是通过如下技术方案实现的:
一方面,本发明提供了一种磁盘压力测试方法,预先设置磁盘压力测试程序,还包括:
获取每一个待测试磁盘的标识;
根据所述标识,编辑所述磁盘压力测试程序中的磁盘列表;
启动与所述磁盘列表相对应的多个线程;
利用所述多个线程,执行所述磁盘压力测试程序。
进一步地,所述执行所述磁盘压力测试程序,包括:
S1:利用for并发语句,分别读取所述磁盘列表中的每一个所述标识;
S2:利用test()函数,针对与每一个所述标识相对应的待测试磁盘均执行:向所述待测试磁盘中读写固定block大小和数量的块数据;
S3:利用while循环语句,再次执行S2。
进一步地,所述根据所述标识,编辑所述磁盘压力测试程序中的磁盘列表,包括:根据获取到的每一个待测试磁盘的盘符,将所述磁盘压力测试程序中的磁盘列表编辑为list=(盘符1盘符2…盘符n),且每一个所述盘符之间用空格隔开。
进一步地,在所述执行所述磁盘压力测试程序之后,进一步包括:生成与每一个所述待测试磁盘相对应的磁盘压力测试报告;
所述磁盘压力测试报告,包括:单次测试的压力大小、单词测试所用时间和磁盘读写速度中的任意一种或多种。
进一步地,在所述执行所述磁盘压力测试程序之前,进一步包括:对所述磁盘压力测试程序赋予相应的可执行权限:#chmod 777DiskTest。
另一方面,本发明提供了一种磁盘压力测试装置,包括:
设置单元,用于设置磁盘压力测试程序;
获取单元,用于获取每一个待测试磁盘的标识;
编辑单元,用于根据所述标识,编辑所述磁盘压力测试程序中的磁盘列表;
处理单元,用于启动与所述磁盘列表相对应的多个线程;以及利用所述多个线程,执行所述磁盘压力测试程序。
进一步地,所述处理单元,具体用于利用for并发语句,分别读取所述磁盘列表中的每一个所述标识;利用test()函数,针对与每一个所述标识相对应的待测试磁盘均执行:向所述待测试磁盘中读写固定block大小和数量的块数据;利用while循环语句,循环执行所述读写操作。
进一步地,所述编辑单元,具体用于根据获取到的每一个待测试磁盘的盘符,将所述磁盘压力测试程序中的磁盘列表编辑为list=(盘符1盘符2…盘符n),且每一个所述盘符之间用空格隔开。
进一步地,该装置还包括:报告生成单元,用于生成与每一个所述待测试磁盘相对应的磁盘压力测试报告;
所述磁盘压力测试报告,包括:单次测试的压力大小、单词测试所用时间和磁盘读写速度中的任意一种或多种。
进一步地,该装置还包括:权限赋予单元,用于对所述磁盘压力测试程序赋予相应的可执行权限:#chmod 777DiskTest。
本发明提供了一种磁盘压力测试方法及装置,首先获取每一个待测试磁盘的标识;以及根据获取到的标识以及预先设置好的磁盘压力测试程序,编辑该磁盘压力测试程序中的磁盘列表;然后,启动与该磁盘列表相对应的多个线程,并利用该多个线程执行所述磁盘压力测试程序。通过多线程同时运行磁盘压力测试程序,可以实现多个磁盘的多盘位并发压力测试,因此,本发明能够提高服务器磁盘压力测试的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种磁盘压力测试方法的流程图;
图2是本发明一实施例提供的另一种磁盘压力测试方法的流程图;
图3是本发明一实施例提供的一种磁盘压力测试装置的示意图;
图4是本发明一实施例提供的另一种磁盘压力测试装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种磁盘压力测试方法,可以包括以下步骤:
步骤101:预先设置磁盘压力测试程序。
步骤102:获取每一个待测试磁盘的标识。
步骤103:根据所述标识,编辑所述磁盘压力测试程序中的磁盘列表。
步骤104:启动与所述磁盘列表相对应的多个线程。
步骤105:利用所述多个线程,执行所述磁盘压力测试程序。
本发明实施例提供了一种磁盘压力测试方法,首先获取每一个待测试磁盘的标识;以及根据获取到的标识以及预先设置好的磁盘压力测试程序,编辑该磁盘压力测试程序中的磁盘列表;然后,启动与该磁盘列表相对应的多个线程,并利用该多个线程执行所述磁盘压力测试程序。通过多线程同时运行磁盘压力测试程序,可以实现多个磁盘的多盘位并发压力测试,因此,本发明实施例能够提高服务器磁盘压力测试的效率。
在一种可能的实现方式中,为了说明一种磁盘压力测试过程,以实现多磁盘并发压力循环测试,所以,所述执行所述磁盘压力测试程序,包括:
步骤1051:利用for并发语句,分别读取所述磁盘列表中的每一个所述标识;
步骤1052:利用test()函数,针对与每一个所述标识相对应的待测试磁盘均执行:向所述待测试磁盘中读写固定block大小和数量的块数据;
步骤1053:利用while循环语句,再次执行步骤1052。
在一种可能的实现方式中,为了说明一种磁盘列表编辑方式,以便于系统能够快速、准确的获取到待测试磁盘的盘符,所以,所述根据所述标识,编辑所述磁盘压力测试程序中的磁盘列表,包括:根据获取到的每一个待测试磁盘的盘符,将所述磁盘压力测试程序中的磁盘列表编辑为list=(盘符1盘符2…盘符n),且每一个所述盘符之间用空格隔开。
在一种可能的实现方式中,为了能够查看和分析磁盘压力测试的结果,以便于准确确定故障磁盘,所以,在所述执行所述磁盘压力测试程序之后,进一步包括:生成与每一个所述待测试磁盘相对应的磁盘压力测试报告;
所述磁盘压力测试报告,包括:单次测试的压力大小、单词测试所用时间和磁盘读写速度中的任意一种或多种。
在一种可能的实现方式中,为了保证磁盘压力测试程序能够顺利执行,所以,在所述执行所述磁盘压力测试程序之前,进一步包括:对所述磁盘压力测试程序赋予相应的可执行权限:#chmod 777DiskTest。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
如图2所示,本发明一个实施例提供了磁盘压力测试方法,该方法可以包括以下步骤:
步骤201:确定磁盘压力测试程序。
举例来说,现将一台Linux服务器中安装5块待测试磁盘,以通过对该5块磁盘进行并发压力测试,从而确定该5块磁盘是否为故障磁盘,或检验该5块磁盘是否会在高压并发测试条件下出现异常。为实现多个磁盘的并发循环压力测试,首先需要确定磁盘压力测试程序。
详细地,可以预先设置一个磁盘压力测试程序,并将程序内容保存为一个脚本文件并进行命名,如命名为DiskTest。然后,可以将该脚本文件复制到该Linux服务器中的任一目录位置,如/root目录。
举例来说,该磁盘压力测试程序的代码程序可以如下所示:
#!/bin/bash
list=(b c)
function test(){
while[[1]]
do
dd if=/dev/zero of=/dev/sd$1bs=1M count=1000 2>>report.txt
done
}
for device in${list[@]}
do
test$device&
done
在本实施例所提供的该代码程序中,首先,for并发语句可以从list数组中逐个提取盘符,如for device in${list[@]};然后,可以调用test()函数逐个生成压力测试过程,如test$device&,其中,device可以用来表示待测试磁盘的盘符,&可以使测试过程在后台运行;之后,test()函数中的while循环语句可以使所有待测试磁盘的并发压力循环持续进行。
在本实施例中,通过执行设定的磁盘压力测试程序,可以同时对多个磁盘进行高压并发循环压力测试。与单块磁盘压力测试相比,本实施例所提供的压力测试方法的测试压力更高、测试环境复杂,因此更容易使存在故障隐患的磁盘快速表现出故障问题,故不仅可以提高磁盘压力测试的工作效率,而且可以提高磁盘压力测试的准确性。
步骤202:对磁盘压力测试程序赋予相应的可执行权限:#chmod 777DiskTest。
在本实施例中,为了保证设置的磁盘压力测试程序能够顺利执行,在程序执行之前,可以预先对其赋予相应的可执行权限,如#chmod 777DiskTest。
步骤203:获取服务器中的每一个待测试磁盘的盘符。
详细地,首先获取服务器中所有磁盘的磁盘信息:#fdisk–l,并从中获取每一个待测试磁盘的盘符。
举例来说,对于该Linux服务器,可以获取到如下所示的信息:
Disk/dev/sda:999.7GB,999653638144bytes
255heads,63sectors/track,121534cylinders,total 1952448512sectors
Units=sectors of 1*512=512bytes
Sector size(logical/physical):512bytes/4096bytes
I/O size(minimum/optimal):4096bytes/4096bytes
Disk identifier:0x0000d421
Disk/dev/sdb:999.7GB,999653638144bytes
255heads,63sectors/track,121534cylinders,total 1952448512sectors
Units=sectors of 1*512=512bytes
Sector size(logical/physical):512bytes/4096bytes
I/O size(minimum/optimal):4096bytes/4096bytes
Disk identifier:0x00000000
Disk/dev/sdc:999.7GB,999653638144bytes
255heads,63sectors/track,121534cylinders,total 1952448512sectors
Units=sectors of 1*512=512bytes
Sector size(logical/physical):512bytes/4096bytes
I/O size(minimum/optimal):4096bytes/4096bytes
Disk identifier:0x00000000
Disk/dev/sdd:4000.2GB,4000225165312bytes
255heads,63sectors/track,486333cylinders,total 7812939776sectors
Units=sectors of 1*512=512bytes
Sector size(logical/physical):512bytes/4096bytes
I/O size(minimum/optimal):4096bytes/4096bytes
Disk identifier:0x00000000
Disk/dev/sde:4000.2GB,4000225165312bytes
255heads,63sectors/track,486333cylinders,total 7812939776sectors
Units=sectors of 1*512=512bytes
Sector size(logical/physical):512bytes/4096bytes
I/O size(minimum/optimal):4096bytes/4096bytes
Disk identifier:0x00000000
Disk/dev/sdf:4000.2GB,4000225165312bytes
255heads,63sectors/track,486333cylinders,total 7812939776sectors
Units=sectors of 1*512=512bytes
Sector size(logical/physical):512bytes/4096bytes
I/O size(minimum/optimal):4096bytes/4096bytes
Disk identifier:0x00000000
在本实施例中,在获取到的6块磁盘中,不仅包含5块待测试磁盘/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde和/dev/sdf,还包含服务器内置系统盘/dev/sda。因此,除去系统盘/dev/sda,可以获取到这5个待测试磁盘的盘符,分别为b、c、d、e和f。
步骤204:根据获取到的盘符,将磁盘压力测试程序中的磁盘列表编辑为list=(b c d e f)。
具体地,每一个盘符之间用空格隔开。
例如,根据获取到的盘符b、c、d、e和f,可以将上述代码程序中的list=(b c)一行编辑为list=(b c d e f)。在本实施例中,可以由工作人员人为编辑磁盘列表。
步骤205:启动与磁盘列表相对应的5个线程。
在本实施例中,由于需要对5块磁盘进行多磁盘并发压力测试,故相应的,可以启动5个线程以同时进行压力测试操作。
步骤206:利用for并发语句,分别读取磁盘列表中的每一个盘符。
具体地,执行上述脚本程序:#./DiskTest。
在本实施例中,可以利用上述代码程序中的for并发语句,以分别读取每一个盘符。
步骤207:利用该5个线程,以及利用test()函数,针对与每一个盘符相对应的待测试磁盘均执行:向该待测试磁盘中读写固定block大小和数量的块数据。
在本实施例中,可以利用上述代码程序中的test()函数,分别对每一个待测试磁盘执行数据读写操作,例如,可以向待测试磁盘中读写固定block大小和数量的块数据。
步骤208:利用while循环语句,再次执行步骤207。
在本实施例中,在任意一块磁盘完成任意一次数据读写操作之后,均可以利用上述代码程序中的while循环语句,再次执行数据读写操作,以实现多磁盘并发循环压力测试过程。
此外,对于任意一块磁盘,每完成一次数据读写操作,系统便可以自动生成一条相应的记录信息。例如,与该多磁盘并发循环压力测试过程相对应的部分测试结果记录信息可以如下进行显示:
记录了1000+0的读入
记录了1000+0的写出
1048576000字节(1.0GB)已复制,16.4364秒,63.8MB/秒
记录了1000+0的读入
记录了1000+0的写出
1048576000字节(1.0GB)已复制,16.2769秒,64.4MB/秒
记录了1000+0的读入
记录了1000+0的写出
1048576000字节(1.0GB)已复制,16.2616秒,64.5MB/秒
记录了1000+0的读入
记录了1000+0的写出
1048576000字节(1.0GB)已复制,16.2826秒,64.4MB/秒
记录了1000+0的读入
记录了1000+0的写出
1048576000字节(1.0GB)已复制,16.4311秒,63.8MB/秒
步骤209:在磁盘压力测试程序执行完成之后,生成与每一个待测试磁盘相对应的磁盘压力测试报告。
具体地,磁盘压力测试报告包括单次测试的压力大小、单词测试所用时间和磁盘读写速度中的任意一种或多种。
在本实施例中,可以预先设置磁盘压力测试程序的结束执行时间,以便于压力测试过程自动停止,也可以由工作人员根据实际需求随时手动停止。
在本实施例中,若服务器在压力测试过程中出现死机、无响应等问题,说明服务器的磁盘通道,如RAID卡、SAS线、硬盘背板、硬盘等均有可能存在异常,则后续可以利用分组、最小化等故障测试方法对故障部件进行定位。
相应的,若服务器在压力测试过程中未出现问题,则在测试完成之后,可以在DiskTest所在的目录下生成测试报告report.txt,且该测试报告中详细记录了本次测试的测试信息,如单次测试所用时间、硬盘写入速度等。例如,系统自动记录的磁盘/dev/sdb的测试报告可以如下所示:
1048576000字节(1.0GB)已复制,16.2616秒,74.5MB/秒
1048576000字节(1.0GB)已复制,17.0383秒,69.4MB/秒
1048576000字节(1.0GB)已复制,24.5782秒,35.0MB/秒
1048576000字节(1.0GB)已复制,26.1049秒,31.8MB/秒
1048576000字节(1.0GB)已复制,26.0361秒,31.3MB/秒
……
在本实施例中,通过对比单个磁盘的每一次的测试时间,可以检验该磁盘在连续读写环境下的稳定性;通过对比单个磁盘的每一次的测试速度,可以检验该磁盘的性能;以及,通过对比全部磁盘的每一次的测试时间和测试速度,可以检验该全部磁盘所属RAID卡的整体I/O性能。
例如,根据上述磁盘/dev/sdb的测试报告,可以看出其测试结果有较大波动,说明该磁盘在高压力环境下虽然没有引发服务器出现死机、无响应等问题,但其在该测试环境下已经出现不稳定现象,I/O性能明显下降,可能存在故障或其它缺陷,故可以对该磁盘进行维修或更换。
在本实施例中,通过向所有待测试磁盘并发循环的读写块数据,以实现模拟甚至高于用户现场磁盘压力状况的目的,从而使存在故障隐患的磁盘在高强度的压力环境下快速表现出故障,便于定位磁盘故障。此外,还可以快速检出RAID卡的故障问题,从而可以检验磁盘阵列在连续读写环境下的稳定性和整体I/O性能。
此外,本发明实施例通过多盘位并发压力测试,同样可以实现对服务器进行故障定位、拷机等目的。
在本实施例中,所提出的多盘位并发压力测试方法在对磁盘进行压力测试时,无需安装第三方软件、简单易用,且使用shell脚本编写,故通用性强,可跨平台使用,从而避免了因安装其他磁盘压力测试工具所引发的安装麻烦、测试手段单一、应用平台窄等问题。
如图3所示,本发明实施例提供了一种磁盘压力测试装置,包括:
设置单元301,用于设置磁盘压力测试程序;
获取单元302,用于获取每一个待测试磁盘的标识;
编辑单元303,用于根据所述标识,编辑所述磁盘压力测试程序中的磁盘列表;
处理单元304,用于启动与所述磁盘列表相对应的多个线程;以及利用所述多个线程,执行所述磁盘压力测试程序。
在一种可能的实现方式中,所述处理单元304,具体用于利用for并发语句,分别读取所述磁盘列表中的每一个所述标识;利用test()函数,针对与每一个所述标识相对应的待测试磁盘均执行:向所述待测试磁盘中读写固定block大小和数量的块数据;利用while循环语句,循环执行所述读写操作。
在一种可能的实现方式中,所述编辑单元303,具体用于根据获取到的每一个待测试磁盘的盘符,将所述磁盘压力测试程序中的磁盘列表编辑为list=(盘符1盘符2…盘符n),且每一个所述盘符之间用空格隔开。
在一种可能的实现方式中,请参考图4,该装置还可以包括:报告生成单元401,用于生成与每一个所述待测试磁盘相对应的磁盘压力测试报告;
所述磁盘压力测试报告,包括:单次测试的压力大小、单词测试所用时间和磁盘读写速度中的任意一种或多种。
在一种可能的实现方式中,请参考图4,该装置还可以包括:权限赋予单元402,用于对所述磁盘压力测试程序赋予相应的可执行权限:#chmod 777DiskTest。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
综上所述,本发明的各个实施例至少具有如下有益效果:
1、本发明实施例中,首先获取每一个待测试磁盘的标识;以及根据获取到的标识以及预先设置好的磁盘压力测试程序,编辑该磁盘压力测试程序中的磁盘列表;然后,启动与该磁盘列表相对应的多个线程,并利用该多个线程执行所述磁盘压力测试程序。通过多线程同时运行磁盘压力测试程序,可以实现多个磁盘的多盘位并发压力测试,因此,本发明实施例能够提高服务器磁盘压力测试的效率。
2、本发明实施例中,通过执行设定的磁盘压力测试程序,可以同时对多个磁盘进行高压并发循环压力测试。与单块磁盘压力测试相比,本实施例所提供的压力测试方法的测试压力更高、测试环境复杂,因此更容易使存在故障隐患的磁盘快速表现出故障问题,故不仅可以提高磁盘压力测试的工作效率,而且可以提高磁盘压力测试的准确性。
3、本发明实施例中,通过向所有待测试磁盘并发循环的读写块数据,以实现模拟甚至高于用户现场磁盘压力状况的目的,从而使存在故障隐患的磁盘在高强度的压力环境下快速表现出故障,便于定位磁盘故障。此外,还可以快速检出RAID卡的故障问题,从而可以检验磁盘阵列在连续读写环境下的稳定性和整体I/O性能。
4、本发明实施例中,通过多盘位并发压力测试,同样可以实现对服务器进行故障定位、拷机等目的。
5、本发明实施例中,所提出的多盘位并发压力测试方法在对磁盘进行压力测试时,无需安装第三方软件、简单易用,且使用shell脚本编写,故通用性强,可跨平台使用,从而避免了因安装其他磁盘压力测试工具所引发的安装麻烦、测试手段单一、应用平台窄等问题。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种磁盘压力测试方法,其特征在于,预先设置磁盘压力测试程序,还包括:
获取每一个待测试磁盘的标识;
根据所述标识,编辑所述磁盘压力测试程序中的磁盘列表;
启动与所述磁盘列表相对应的多个线程;
利用所述多个线程,执行所述磁盘压力测试程序。
2.根据权利要求1所述的方法,其特征在于,所述执行所述磁盘压力测试程序,包括:
S1:利用for并发语句,分别读取所述磁盘列表中的每一个所述标识;
S2:利用test()函数,针对与每一个所述标识相对应的待测试磁盘均执行:向所述待测试磁盘中读写固定block大小和数量的块数据;
S3:利用while循环语句,再次执行S2。
3.根据权利要求1所述的方法,其特征在于,所述根据所述标识,编辑所述磁盘压力测试程序中的磁盘列表,包括:
根据获取到的每一个待测试磁盘的盘符,将所述磁盘压力测试程序中的磁盘列表编辑为list=(盘符1 盘符2 … 盘符n),且每一个所述盘符之间用空格隔开。
4.根据权利要求1所述的方法,其特征在于,
在所述执行所述磁盘压力测试程序之后,进一步包括:生成与每一个所述待测试磁盘相对应的磁盘压力测试报告;
所述磁盘压力测试报告,包括:单次测试的压力大小、单词测试所用时间和磁盘读写速度中的任意一种或多种。
5.根据权利要求1至4中任一所述的方法,其特征在于,在所述执行所述磁盘压力测试程序之前,进一步包括:
对所述磁盘压力测试程序赋予相应的可执行权限:#chmod 777DiskTest。
6.一种磁盘压力测试装置,其特征在于,包括:
设置单元,用于设置磁盘压力测试程序;
获取单元,用于获取每一个待测试磁盘的标识;
编辑单元,用于根据所述标识,编辑所述磁盘压力测试程序中的磁盘列表;
处理单元,用于启动与所述磁盘列表相对应的多个线程;以及利用所述多个线程,执行所述磁盘压力测试程序。
7.根据权利要求6所述的磁盘压力测试装置,其特征在于,所述处理单元,具体用于利用for并发语句,分别读取所述磁盘列表中的每一个所述标识;利用test()函数,针对与每一个所述标识相对应的待测试磁盘均执行:向所述待测试磁盘中读写固定block大小和数量的块数据;利用while循环语句,循环执行所述读写操作。
8.根据权利要求6所述的磁盘压力测试装置,其特征在于,所述编辑单元,具体用于根据获取到的每一个待测试磁盘的盘符,将所述磁盘压力测试程序中的磁盘列表编辑为list=(盘符1 盘符2 … 盘符n),且每一个所述盘符之间用空格隔开。
9.根据权利要求6所述的磁盘压力测试装置,其特征在于,还包括:
报告生成单元,用于生成与每一个所述待测试磁盘相对应的磁盘压力测试报告;
所述磁盘压力测试报告,包括:单次测试的压力大小、单词测试所用时间和磁盘读写速度中的任意一种或多种。
10.根据权利要求6至9中任一所述的磁盘压力测试装置,其特征在于,还包括:
权限赋予单元,用于对所述磁盘压力测试程序赋予相应的可执行权限:#chmod 777DiskTest。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610202931.9A CN105912435A (zh) | 2016-04-01 | 2016-04-01 | 一种磁盘压力测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610202931.9A CN105912435A (zh) | 2016-04-01 | 2016-04-01 | 一种磁盘压力测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105912435A true CN105912435A (zh) | 2016-08-31 |
Family
ID=56745207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610202931.9A Pending CN105912435A (zh) | 2016-04-01 | 2016-04-01 | 一种磁盘压力测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912435A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324936A (zh) * | 2018-09-14 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种磁盘性能检测方法、系统、设备及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473158A (zh) * | 2013-09-18 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种Linux服务器的磁盘压力测试方法 |
CN103744759A (zh) * | 2013-12-27 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种Linux系统下无人值守磁盘性能及稳定性验证方法 |
-
2016
- 2016-04-01 CN CN201610202931.9A patent/CN105912435A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473158A (zh) * | 2013-09-18 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种Linux服务器的磁盘压力测试方法 |
CN103744759A (zh) * | 2013-12-27 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种Linux系统下无人值守磁盘性能及稳定性验证方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324936A (zh) * | 2018-09-14 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种磁盘性能检测方法、系统、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109119124A (zh) | 固态硬盘的生产方法及固态硬盘 | |
CN103473158A (zh) | 一种Linux服务器的磁盘压力测试方法 | |
CN107391333B (zh) | 一种osd磁盘故障测试方法及系统 | |
TWI441189B (zh) | 用於改良冗餘分析之記憶體裝置故障彙總資料縮減技術 | |
CN107133244B (zh) | 一种数据库迁移的测试方法和装置 | |
CN105893230A (zh) | 一种检测硬盘iops性能的方法及装置 | |
CN107402789A (zh) | 一种服务器集群自动批量穿透raid卡刷新硬盘fw的方法 | |
CN111209206A (zh) | 一种软件产品的自动测试方法及系统 | |
CN113049939A (zh) | 一种芯片老化自测试方法及系统 | |
CN110109773A (zh) | 一种虚拟机磁盘一致性的检测方法及系统 | |
CN110287123A (zh) | 一种绕过ios系统调试检测的方法及装置 | |
CN104615514A (zh) | 一种对raid卡各raid级别性能检验方法 | |
US10768852B2 (en) | Batch automatic test method for solid state disks and batch automatic test device for solid state disks | |
CN108572895A (zh) | 一种Linux下自动检查软硬件配置的稳定性测试方法 | |
CN114283868A (zh) | 闪存芯片的可靠性测试方法、装置、电子设备及存储介质 | |
CN105912435A (zh) | 一种磁盘压力测试方法及装置 | |
CN112463472A (zh) | 磁盘阵列的自动化测试方法、装置、电子设备及存储介质 | |
CN107423177A (zh) | 一种sas链路的测试方法及装置 | |
CN109582513B (zh) | 一种基于通用服务器的jbod测试方法及系统 | |
US9507690B2 (en) | Method and device for analyzing an execution of a predetermined program flow on a physical computer system | |
CN109857583A (zh) | 一种处理方法及装置 | |
CN114780317A (zh) | 一种硬盘拔插测试方法、系统及相关组件 | |
CN115662488A (zh) | 一种ssd可靠性测试方法及系统 | |
CN112083891B (zh) | 一种存储器中数据块的检测方法及相关设备 | |
CN109344023B (zh) | 一种服务器usb3.0接口稳定性的测试系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160831 |