一种基于iozone的USB接口性能测试的方法
【技术领域】
[0001 ]本发明涉及计算机服务器技术领域,具体涉及一种基于1zone的USB接口性能测试的方法。
【背景技术】
[0002]随着IT领域技术的不断发展,传统信息化服务以及日趋强大的云计算服务对服务器的性能要求越来越高。USB接口做为数据传输的一种通道,其性能直接影响服务器的整体呈现。做为服务器硬件供应商,在产品开发时对于USB接口的性能测试需要更多的投入。
[0003]Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高。
[0004]1zone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统白勺读写性會泛。可以测试 Read , write , re-read ,re-write , read backwards , readstrided, fread, fwrite, random read, pread, mmap, a1_read, a1_write 等等不同的模式下的存储盘的性能。
[0005]但是1zone只提供了简单的参数,单条1zone命令有非常大的测试局限,如只能对一块存储盘进行测试,测试线程数控制难等。
[0006]基于上述技术,如果能够通过shell脚本,根据实际服务器配置来修改测试文件,并能够手动调整部分参数,这将对于多种多样的配置的性能测试带来便利和更高的效率。
【发明内容】
[0007]本发明的技术任务是针对现有技术的不足,提供一种基于1zone的USB接口性能测试的方法。本方法实用性强,可以对1zone的测试参数进行扩展,使之适应多种多样的性能测试需求的方法。
[0008]本发明解决其技术问题所采用的技术方案是:
一种基于1zone的USB接口性能测试的方法,该方法的实现步骤如下:
1)、识别本服务器通过USB接口所连接的存储模块;
2)、对存储模块进行分区,挂载和格式化;
3)、根据实际配置修改将测试参数传递给性能测试脚本;
4)、开始性能测试,并输出结果。
[0009]脚本执行完成后,在本文件夹中以hddext4开头的文件为最终结果。
[0010]本发明的一种基于1zone的USB接口性能测试的方法与现有技术相比,所产生的有益效果是,本方法摆脱了 1zone单条测试命令的局限性,能够对多个存储模块同时进行多个线程的多种模式的读写性能测试。测试过程中的测试存储模块数量、线程数、测试块大小、测试文件大小、测试模式等都是可以根据实际需求进行手动调节。
【附图说明】
[0011 ]图1是基于i ο z one的USB接口性能测试的方法的流程图。
【具体实施方式】
[0012]下面结合附图和具体实施例对本发明的一种基于1zone的USB接口性能测试的方法与作以下详细地说明。
[0013]—种基于1zone的USB接口性能测试的方法,该方法的实现步骤如下:
1)、识别本服务器通过USB接口所连接的存储模块;
2)、对存储模块进行分区,挂载和格式化;
3)、根据实际配置修改将测试参数传递给性能测试脚本;
4)、开始性能测试,并输出结果。
[0014]脚本执行完成后,在本文件夹中以hddext4开头的文件为最终结果。
实施例
[0015]一、通过USB接口连接外部存储
1)识别本服务器所有的外接存储盘 #!/bin/bash
#判断输入参数个数,不符合时输出usage后退出 if [ $# -ne 2]; then
echo "Usage:./$0 RECSIZE THREADS_PERFHDDexit 0;fi
#识别所有的盘符 funct1n get_disk()
{
fdisk -1 |grep "Disk /dev/scT awk ’{print $2|"cut -bS"}’ >> /root/1.txtfor i in cat /root/1.txt'do
echo 〃/dev/sd$i〃 >> /root/disk.1stdone
}
2)对外接存储进行分区,格式化和挂载 #分区
funct1n fdisk_disk()
{
for disk in cat /root/disk.1stdo
#对外接存储盘分区echo -e 〃fdisk $disk now…〃
parted -s $disk mklabel gpt mkpart $disk〃l〃 I 10gbecho -e 〃Done〃fi
done
}
#格式化
funct1n mkfs_disk()
{
for i in cat /root/1.txt'do
if [ $i = a ]then
mkfs.ext4 /dev/sd$i〃3〃else
mkfs.ext4 /dev/sd$i〃l〃fidone
}
#挂载
funct1n mount_disk()
{
for i in cat /root/1.txt'
if [ $i = a ]
then
mkdir /mnt/sd$i〃3〃mount /dev/sd$i〃3〃 /mnt/sd$i〃3〃else
mkdir /mnt/sd$i〃l〃mount /dev/ sd$i 〃I〃 /mnt/sd$i 〃I〃fi
}
3)根据实际配置修改将测试参数传递给性能测试脚本funct1n 1zone_disk()
{
count='cat /root/disk, txt |wc -1'#确定测试的存储盘个数FILESIZE=1g #测试文件大小RECSIZE=$ I #测试块大小
THREADS='echo “$2 * Scount" |bc' #测试总的线程数,根据硬盘数量和输入的每个硬盘的线程数决定OUTPUTFILE=
#根据每个存储盘测试的线程数,确定测试文件 for( (1=0; K= $2; I++)) do
for J in cat /root/1.txt'do
FILE=$FILE〃 "7mnt/sd$J” I”/k${I}〃donedone
echo $FILE
for TIMES in {1..2}
do
OUTPUTFILE=^hddextO {THREADS} thrd_${FILESIZE}_recsize_${RECSIZE}_
sep
echo ,,Reading and Writing test Starting …〃 >> $OUTPUTFILE./1zone -r ${RECSIZE} -s $FILESIZE -t $THREADS -F $FILE _i O _i 1-b report.xls _c _+n _e >> $OUTPUTFILE
echo ,,Reading and Writing test Finished …〃 >> $OUTPUTFILEecho 〃 〃 ? $OUTPUTFILEexit I
done
}
5)主程序
#按顺序执行分程序 get_disk fdisk—disk mkfs_disk mount_disk 1zone—disk
二、脚本执行完成后,在本文件夹中以hddext4开头的文件为最终结果。
[0016]本方法在各种配置上都可以应用,可以灵活、便捷的根据不同配置修改测试参数来调用1zone测试USB接口性能。解决了单一使用1zone的测试局限性。丰富了测试手段,更好的检测部件的性能。
【主权项】
1.一种基于1zone的USB接口性能测试的方法,其特征在于该方法的实现步骤如下: I)、识别本服务器通过USB接口所连接的存储模块; 2 )、对存储模块进行分区,挂载和格式化; 3)、根据实际配置修改将测试参数传递给性能测试脚本; 4 )、开始性能测试,并输出结果。2.根据权利要求1所述的一种基于1zone的USB接口性能测试的方法,其特征在于脚本执行完成后,在本文件夹中以hddext4开头的文件为最终结果。
【专利摘要】本发明提供一种基于iozone的USB接口性能测试的方法,该方法的实现步骤如下:1)、识别本服务器通过USB接口所连接的存储模块;2)、对存储模块进行分区,挂载和格式化;3)、根据实际配置修改将测试参数传递给性能测试脚本;4)、开始性能测试,并输出结果。本方法摆脱了iozone单条测试命令的局限性,能够对多个存储模块同时进行多个线程的多种模式的读写性能测试。测试过程中的测试存储模块数量、线程数、测试块大小、测试文件大小、测试模式等都是可以根据实际需求进行手动调节。
【IPC分类】G06F11/267, G06F11/22
【公开号】CN105511999
【申请号】CN201510915942
【发明人】张文珂
【申请人】浪潮电子信息产业股份有限公司
【公开日】2016年4月20日
【申请日】2015年12月10日