一种硬盘的压力测试的系统及方法技术领域
本发明涉及计算机技术领域,特别涉及一种硬盘的压力测试的系统及方法。
背景技术
随着互联网对服务器的要求越来越高,技术的更新换代时间越来越快,测试的成
本随着IT领域技术的不断发展,传统信息化服务以及日趋强大的云计算服务对服务器等设
备中的硬盘的要求也越来越高。
现有技术中,硬盘的性能一般通过压力测试来衡量。现有的硬盘的压力测试主要
是在待测硬盘所在的设备上安装测试工具,通过该测试工具对待测硬盘进行测试。
通过上述描述可见,现有技术中的压力测试主要是单机测试,无法测试外部设备
从待测硬盘读写数据时待测硬盘的性能,测试结果不够全面。
发明内容
本发明实施例提供了一种硬盘的压力测试的系统及方法,能够更加全面地测试硬
盘。
一方面,本发明实施例提供了一种硬盘的压力测试的系统,包括:
待测硬盘所在的目标设备、所述目标设备外部的测试设备,其中,
所述测试设备与所述目标设备相连;
所述测试设备上安装有硬盘的压力测试工具;
所述测试设备,用于利用所述压力测试工具对所述目标文件进行压力测试处理;
所述目标设备,用于实现所述压力测试工具对所述目标文件的压力测试处理,根
据所述压力测试处理,实现对所述待测试硬盘的压力测试。
进一步地,所述目标设备和所述测试设备上分别安装有samba(Server Messages
Block,信息服务块)服务;
所述测试设备,用于开启所述测试设备上的所述samba服务;
所述目标设备,用于开启所述目标设备上的所述samba服务,利用所述目标设备上
的所述samba服务和所述测试设备上的所述samba服务,实现所述目标文件的共享。
进一步地,所述目标设备,进一步用于将所述待测硬盘进行分区,并将所述待测硬
盘格式化为文件系统的磁盘格式,将所述待测硬盘的分区挂载在预设的目标文件夹下,将
所述目标文件存储在所述目标文件夹下。
进一步地,所述压力测试处理包括:对所述目标文件进行第一预设值次写操作、对
所述目标文件进行第二预设值次读操作;
当所述压力测试处理为所述对所述目标文件进行第一预设值次写操作时,
所述测试设备,用于利用所述压力测试工具对所述目标文件进行所述第一预设值
次写操作;
当所述压力测试处理为所述对所述目标文件进行第二预设值次读操作时,
所述测试设备,用于利用所述压力测试工具对所述目标文件进行所述第二预设值
次读操作。
进一步地,所述目标设备,在执行所述将所述待测硬盘进行分区,并将所述待测硬
盘格式化为文件系统的磁盘格式时,用于执行fdisk命令和/或parted命令,利用所述fdisk
命令和/或所述parted命令,实现所述将所述待测硬盘进行分区,并将所述待测硬盘格式化
为文件系统的磁盘格式。
进一步地,所述压力测试工具包括:fio工具、iometer工具。
另一方面,本发明实施例提供了一种硬盘的压力测试的方法,包括:
预先建立待测硬盘所在的目标设备与所述目标设备外部的测试设备的连接;
在所述测试设备上安装硬盘的压力测试工具;
将所述待测硬盘中的目标文件共享给所述测试设备;
实现所述压力测试工具对所述目标文件的压力测试处理,根据所述压力测试处
理,实现对所述待测试硬盘的压力测试。
进一步地,所述将所述待测硬盘中的目标文件共享给所述测试设备,包括:
在所述目标设备和所述测试设备上分别安装samba服务;
分别开启所述目标设备和所述测试设备上的所述samba服务;
利用所述目标设备上的所述samba服务和所述测试设备上的所述samba服务,实现
所述目标文件的共享。
进一步地,在所述将所述待测硬盘中的目标文件共享给所述测试设备之前,进一
步包括:
将所述待测硬盘进行分区,并格式化为文件系统的磁盘格式;
将所述待测硬盘的分区挂载在预设的目标文件夹下;
将所述目标文件存储在所述目标文件夹下。
进一步地,所述压力测试处理包括:对所述目标文件进行第一预设值次写操作、对
所述目标文件进行第二预设值次读操作。
在本发明实施例中,将压力测试工具部署在待测硬盘所在的目标设备外部的测试
设备上,通过测试设备对待测硬盘中的目标文件进行压力测试处理,实现外部设备从待测
硬盘读写数据时待测硬盘的性能的压力测试,实现更加全面地测试硬盘。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明
的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
这些附图获得其他的附图。
图1是本发明一实施例提供的一种硬盘的压力测试的系统的示意图;
图2是本发明一实施例提供的一种硬盘的压力测试的方法的流程图;
图3是本发明一实施例提供的另一种硬盘的压力测试的方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员
在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种硬盘的压力测试的系统,该方法可以包括以
下步骤:
待测硬盘所在的目标设备101、所述目标设备外部的测试设备102,其中,
所述测试设备102与所述目标设备101相连;
所述测试设备102上安装有硬盘的压力测试工具;
所述测试设备102,用于利用所述压力测试工具对所述目标文件进行压力测试处
理;
所述目标设备101,用于实现所述压力测试工具对所述目标文件的压力测试处理,
根据所述压力测试处理,实现对所述待测试硬盘的压力测试。
在本发明实施例中,将压力测试工具部署在待测硬盘所在的目标设备外部的测试
设备上,通过测试设备对待测硬盘中的目标文件进行压力测试处理,实现外部设备从待测
硬盘读写数据时待测硬盘的性能的压力测试,实现更加全面地测试硬盘。
在本发明一实施例中,所述目标设备和所述测试设备上分别安装有samba服务;
所述测试设备,用于开启所述测试设备上的所述samba服务;
所述目标设备,用于开启所述目标设备上的所述samba服务,利用所述目标设备上
的所述samba服务和所述测试设备上的所述samba服务,实现所述目标文件的共享。
在本发明实施例中,通过samba服务实现目标文件的共享。Samba服务既可以用于
windows系统与Linux系统之间的文件共享,也可以用于Linux系统与Linux系统之间的文件
共享,可以更加方便地进行压力测试。
具体地,分别在目标设备和测试设备上安装samba服务的安装包。一般Redhat6以
上系统全包安装时已经安装上samba服务,可通过rpm–qa|grep samba命令进行查询。可以
通过/etc/init.d/smb start命令来开启samba服务。另外,还可以通过/etc/init.d/smb
stop命令来关闭samba服务,可以通过/etc/init.d/smb restart命令来重启samba服务,可
以通过service samba status命令来查询samba服务的启动状态,可以通过chkconfig--
level 35smb on命令将samba服务设置为开机自启动。
在目标设备上,为了实现目标文件的共享,可以对目标设备上的Samba服务的配置
文件进行配置。具体地,Samba服务的配置文件为/etc/samba/smb.conf,可以通过修改这个
配置文件来共享目标文件。具体地,可以进行如下修改:修改[global]部分;
把”MY GROUP”改成”WORKGROUP”
把”security=user”修改为“security=share”然后在文件的最末尾处加入以下
内容:
[share]
comment=share all
path=/tmp/samba1---在系统下待测硬盘挂在在某个文件夹下
browseable=yes
public=yes
writable=no
另外,可以将测试设备和目标设备部署在同一个网段,通过配置samba服务,实现
将目标文件共享给同一网段的设备,实现目标文件共享给测试设备。测试设备可以作为
Samba服务的客户端。
本发明实施例中,通过网络共享目标文件,举例来说,将目标文件共享给测试设备
的share1、share2文件,可以通过如下命令实现:
mount-t cifs//1.1.1.1/tmp/samba1/mnt/samba1-o user=root,password=
123
为了更加方便地对待测硬盘进行压力测试,在本发明一实施例中,所述目标设备,
进一步用于将所述待测硬盘进行分区,并将所述待测硬盘格式化为文件系统的磁盘格式,
将所述待测硬盘的分区挂载在预设的目标文件夹下,将所述目标文件存储在所述目标文件
夹下。
在本发明一实施例中,所述目标设备,在执行所述将所述待测硬盘进行分区,并将
所述待测硬盘格式化为文件系统的磁盘格式时,用于执行fdisk命令和/或parted命令,利
用所述fdisk命令和/或所述parted命令,实现所述将所述待测硬盘进行分区,并将所述待
测硬盘格式化为文件系统的磁盘格式。
具体地,可以使用mkdir建立/tmp/samba1、/tmp/samba2等目标文件夹,将待测硬
盘的分区挂载在对应的目标文件夹下,可以通过以下命令实现:mount/dev/sdb1/tmp/
samba1,通过该命令将分区挂载在/tmp/samba1文件夹下。
在本发明一实施例中,所述压力测试处理包括:对所述目标文件进行第一预设值
次写操作、对所述目标文件进行第二预设值次读操作;
当所述压力测试处理为所述对所述目标文件进行第一预设值次写操作时,
所述测试设备,用于利用所述压力测试工具对所述目标文件进行所述第一预设值
次写操作;
当所述压力测试处理为所述对所述目标文件进行第二预设值次读操作时,
所述测试设备,用于利用所述压力测试工具对所述目标文件进行所述第二预设值
次读操作。
在本发明实施例中,通过对目标文件进行写操作和/或读操作,来提高待测硬盘的
压力,测试出,在该压力下待测硬盘的性能。
具体地,可以通过以下命令来说实现:
dd if=/mnt/samba1 of=/dev/null bs=$i count=200000
dd if=/dev/null of=/mnt/samba1 bs=$i count=200000
#以i大小block读取相应硬盘200000次,count可根据压力时间修改,i为读写块的
大小。
在本发明一实施例中,所述压力测试工具包括:fio工具、iometer工具。
具体地,当测试设备为Linux系统时,压力测试工具可以为fio工具,当测试设备为
windows系统时,压力测试工具可以为iometer工具。
本发明实施例提供的一种硬盘的压力测试的系统,工作过程如下:
建立测试设备与目标设备的网络相连;
在测试设备上安装硬盘的压力测试工具;
分别在目标设备和测试设备上安装samba服务,并开启samba服务;
利用目标设备上的samba服务和测试设备上的samba服务,实现目标文件的共享;
利用测试设备的压力测试工具在目标设备上实现对目标文件的读操作和/或写操
作,实现对待测试硬盘的压力测试;
利用压力测试工具输出测试结果。
如图2所示,本发明实施例提供了一种硬盘的压力测试的方法,包括:
步骤201:预先建立待测硬盘所在的目标设备与所述目标设备外部的测试设备的
连接;
步骤202:在所述测试设备上安装硬盘的压力测试工具;
步骤203:将所述待测硬盘中的目标文件共享给所述测试设备;
步骤204:实现所述压力测试工具对所述目标文件的压力测试处理,根据所述压力
测试处理,实现对所述待测试硬盘的压力测试。
在本发明一实施例中,所述将所述待测硬盘中的目标文件共享给所述测试设备,
包括:
在所述目标设备和所述测试设备上分别安装samba服务;
分别开启所述目标设备和所述测试设备上的所述samba服务;
利用所述目标设备上的所述samba服务和所述测试设备上的所述samba服务,实现
所述目标文件的共享。
在本发明一实施例中,在所述将所述待测硬盘中的目标文件共享给所述测试设备
之前,进一步包括:
将所述待测硬盘进行分区,并格式化为文件系统的磁盘格式;
将所述待测硬盘的分区挂载在预设的目标文件夹下;
将所述目标文件存储在所述目标文件夹下。
在本发明一实施例中,所述压力测试处理包括:对所述目标文件进行第一预设值
次写操作、对所述目标文件进行第二预设值次读操作。
如图3所示,本发明实施例提供的一种硬盘的压力测试的方法,包括:
步骤301:预先建立待测硬盘所在的目标设备与目标设备外部的测试设备的连接;
步骤302:在测试设备上安装硬盘的压力测试工具;
步骤303:将所述待测硬盘进行分区,并格式化为文件系统的磁盘格式;
步骤304:将所述待测硬盘的分区挂载在预设的目标文件夹下;
步骤305:将所述目标文件存储在所述目标文件夹下。
步骤306:在目标设备和测试设备上分别安装samba服务;
步骤307:分别开启目标设备和测试设备上的samba服务;
步骤308:利用目标设备上的samba服务和测试设备上的samba服务,实现目标文件
的共享;
步骤309:实现压力测试工具对目标文件的压力测试处理,根据压力测试处理,实
现对待测试硬盘的压力测试。
本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,将压力测试工具部署在待测硬盘所在的目标设备外部的测
试设备上,通过测试设备对待测硬盘中的目标文件进行压力测试处理,实现外部设备从待
测硬盘读写数据时待测硬盘的性能的压力测试,实现更加全面地测试硬盘。
2、在本发明实施例中,通过samba服务实现目标文件的共享。Samba服务既可以用
于windows系统与Linux系统之间的文件共享,也可以用于Linux系统与Linux系统之间的文
件共享,可以更加方便地进行压力测试。
3、在本发明实施例中,待测硬盘所在的目标设备共享待测硬盘中的目标文件,外
部的测试设备上的压力测试工具通过对目标文件的压力测试处理实现对待测硬盘的压力
测试,无需在每个目标设备上安装压力测试工具,只需在一个测试设备上安装压力测试工
具即可实现对多个目标设备的待测硬盘的压力测试,提高了测试效率。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体
或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在
任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非
排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,
而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固
有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排
除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过
程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序
在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光
盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技
术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、
等同替换、改进等,均包含在本发明的保护范围内。