CN104978250A - 一种基于iozone的HBA卡性能测试的方法 - Google Patents

一种基于iozone的HBA卡性能测试的方法 Download PDF

Info

Publication number
CN104978250A
CN104978250A CN201510350727.7A CN201510350727A CN104978250A CN 104978250 A CN104978250 A CN 104978250A CN 201510350727 A CN201510350727 A CN 201510350727A CN 104978250 A CN104978250 A CN 104978250A
Authority
CN
China
Prior art keywords
disk
test
echo
iozone
root
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
Application number
CN201510350727.7A
Other languages
English (en)
Inventor
姜庆臣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201510350727.7A priority Critical patent/CN104978250A/zh
Publication of CN104978250A publication Critical patent/CN104978250A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种基于iozone的HBA卡性能测试的方法,涉及计算机服务器技术领域。本发明实现过程为1.识别本服务器通过HBA卡所连接的存储模块;2.对存储模块进行分区,挂载和格式化;3.根据实际配置修改将测试参数传递给性能测试脚本;4.开始性能测试,并输出结果。本发明摆脱了iozone单条测试命令的局限性,能够对多个存储模块同时进行多个线程的多种模式的读写性能测试。

Description

一种基于iozone的HBA卡性能测试的方法
技术领域
本发明涉及计算机服务器技术领域,具体地说是一种实用性强,可以针对不同配置使用iozone对HBA卡进行性能测试的方法。
背景技术
随着IT领域技术的不断发展,传统信息化服务以及日趋强大的云计算服务对服务器的性能要求越来越高。HBA卡做为数据传输的一种通道,其性能直接影响服务器的整体呈现。做为服务器硬件供应商,在产品开发时对于HBA卡的性能测试需要更多的投入。
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高。
Iozone是一个文件***的benchmark工具,可以测试不同的操作***中文件***的读写性能。 可以测试 Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, pread, mmap, aio_read, aio_write 等等不同的模式下的存储盘的性能。
但是iozone只提供了简单的参数,单条iozone命令有非常大的测试局限,如只能对一块存储盘进行测试,测试线程数控制难等。
基于上述技术,如果能够通过shell脚本, 根据实际服务器配置来修改测试文件,并能够手动调整部分参数,这将对于多种多样的配置的硬盘性能测试带来便利和更高的效率。
发明内容
本发明的技术任务是针对以上不足之处,提供是一种实用性强,可以对iozone的测试参数进行扩展,使之适应多种多样的性能测试需求的方法。
本方法改进了iozone测试命令的限制性,通过前期测试参数和配置文件的设置和修改,丰富了iozone的测试环境。能够同时对多个HBA卡进行多个线程的多种模式的读写测试。测试过程中的线程数、测试块大小、测试文件大小、测试模式等都是可以根据实际需求进行手动调节的。
一种基于iozone的自动测试HBA性能的方法,其具体实现过程为:
 1.识别本服务器通过HBA卡所连接的存储模块。
2.对存储模块进行分区,挂载和格式化。
3.根据实际配置修改将测试参数传递给性能测试脚本。
4.开始性能测试,并输出结果。
可同时对数个HBA同时进行数个线程的多种模式的读写性能测试。
测试过程中的线程数、测试块大小、测试文件大小、测试模式都可以根据实际需求进行手动调节。
本发明的有益效果是:
基于shell的iozone性能测试方法,丰富了iozone的测试方法,可以根据不同需求调整测试参数和配置文件,满足越来越多不同客户的性能测试需求。对于提升给客户的印象有重大作用。
附图说明
图1是本发明的实现流程图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
 下面结合附图和具体实施例对本发明作进一步说明。
一、通过HBA卡连接外部存储
1)识别本服务器所有的外接存储盘
#!/bin/bash
#判断输入参数个数,不符合时输出usage后退出
if [ $# -ne 2]; then
echo “Usage:./$0 RECSIZE THREADS_PERFHDD
exit 0;
fi
#识别所有的盘符
function get_disk()
{
fdisk -l |grep "Disk /dev/sd" |awk '{print $2|"cut -b8"}' >> /root/1.txt
for i in `cat /root/1.txt`
do
  echo "/dev/sd$i" >> /root/disk.lst
done
}
2)对外接存储进行分区,格式化和挂载
#分区
function fdisk_disk()
{
for disk in `cat /root/disk.lst`
do
#对外接存储盘分区
echo -e "fdisk $disk now..."
parted -s $disk mklabel gpt mkpart $disk"1" 1 100gb
echo -e "Done"
fi
done
}
#格式化
function 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"1"
  fi
done
}
#挂载
function 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"1"
  mount /dev/ sd$i"1" /mnt/sd$i"1"
  fi
}
3)根据实际配置修改将测试参数传递给性能测试脚本
function iozone_disk()
{
count=`cat /root/disk.txt|wc –l`#确定测试的存储盘个数
FILESIZE=10g #测试文件大小
RECSIZE=$1   #测试块大小
THREADS=`echo “$2 * $count”|bc` #测试总的线程数,根据硬盘数量和输入的每个硬盘的线程数决定
OUTPUTFILE=
#根据每个存储盘测试的线程数,确定测试文件
for((I=0;I<= $2;I++))
do
for J in `cat /root/1.txt`
do
  FILE=$FILE" ""/mnt/sd$J”1”/k${I}"
  done
done
echo $FILE
for TIMES in {1..2}
do
     OUTPUTFILE="hddext4_${THREADS}thrd_${FILESIZE}_recsize_${RECSIZE}_sep"
     echo "Reading and Writing test Starting ..." >> $OUTPUTFILE
     ./iozone -r ${RECSIZE} -s $FILESIZE -t $THREADS -F $FILE -i 0 -i 1 -b report.xls -c -+n -e >> $OUTPUTFILE
     echo "Reading and Writing test Finished ..." >> $OUTPUTFILE
     echo " " >> $OUTPUTFILE
                exit 1
done
}
4)主程序
#按顺序执行分程序
get_disk
fdisk_disk
mkfs_disk
mount_disk
iozone_disk
二、脚本执行完成后,在本文件夹中以hddext4开头的文件为最终结果。
本方法在各种配置上都可以应用,可以灵活、便捷的根据不同配置修改测试参数来调用iozone测试HBA卡性能。解决了单一使用iozone的测试局限性。丰富了测试手段,更好的检测部件的性能。

Claims (7)

1.一种基于iozone的HBA卡性能测试的方法,其特征在于,
其具体实现过程为:
1)、识别本服务器通过HBA卡所连接的存储模块;
2)、对存储模块进行分区,挂载和格式化;
3)、根据实际配置修改将测试参数传递给性能测试脚本;
4)、开始性能测试,并输出结果。
2.根据权利要求1所述的方法,其特征在于,同时对数个HBA同时进行数个线程的多种模式的读写性能测试。
3.根据权利要求1或2所述的方法,其特征在于,测试过程中的线程数、测试块大小、测试文件大小、测试模式都可以根据实际需求进行手动调节。
4.根据权利要求1所述的方法,其特征在于,
1)识别本服务器所有的外接存储盘
#!/bin/bash
#判断输入参数个数,不符合时输出usage后退出
if [ $# -ne 2]; then
echo “Usage:./$0 RECSIZE THREADS_PERFHDD
exit 0;
fi
#识别所有的盘符
function get_disk()
{
fdisk -l |grep "Disk /dev/sd" |awk '{print $2|"cut -b8"}' >> /root/1.txt
for i in `cat /root/1.txt`
do
    echo "/dev/sd$i" >> /root/disk.lst
done
}。
5.根据权利要求1所述的方法,其特征在于,
2)对外接存储进行分区,格式化和挂载
#分区
function fdisk_disk()
{
for disk in `cat /root/disk.lst`
do
#对外接存储盘分区
echo -e "fdisk $disk now..."
parted -s $disk mklabel gpt mkpart $disk"1" 1 100gb
echo -e "Done"
fi
done
}
#格式化
function 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"1"
    fi
done
}
#挂载
function 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"1"
  mount /dev/ sd$i"1" /mnt/sd$i"1"
    fi
}。
6.根据权利要求1所述的方法,其特征在于,
3)根据实际配置修改将测试参数传递给性能测试脚本
 function iozone_disk()
{
count=`cat /root/disk.txt|wc –l`#确定测试的存储盘个数
FILESIZE=10g #测试文件大小
RECSIZE=$1   #测试块大小
THREADS=`echo “$2 * $count”|bc` #测试总的线程数,根据硬盘数量和输入的每个硬盘的线程数决定
OUTPUTFILE=
#根据每个存储盘测试的线程数,确定测试文件
for((I=0;I<= $2;I++))
do
for J in `cat /root/1.txt`
do
    FILE=$FILE" ""/mnt/sd$J”1”/k${I}"
    done
done
echo $FILE
for TIMES in {1..2}
do
       OUTPUTFILE="hddext4_${THREADS}thrd_${FILESIZE}_recsize_${RECSIZE}_sep"
       echo "Reading and Writing test Starting ..." >> $OUTPUTFILE
        ./iozone -r ${RECSIZE} -s $FILESIZE -t $THREADS -F $FILE -i 0 -i 1 -b report.xls -c -+n -e >> $OUTPUTFILE
       echo "Reading and Writing test Finished ..." >> $OUTPUTFILE
       echo " " >> $OUTPUTFILE
                exit 1
done
}。
7.根据权利要求1所述的方法,其特征在于,
4)主程序
#按顺序执行分程序
get_disk
fdisk_disk
mkfs_disk
mount_disk
iozone_disk。
CN201510350727.7A 2015-06-23 2015-06-23 一种基于iozone的HBA卡性能测试的方法 Pending CN104978250A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510350727.7A CN104978250A (zh) 2015-06-23 2015-06-23 一种基于iozone的HBA卡性能测试的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510350727.7A CN104978250A (zh) 2015-06-23 2015-06-23 一种基于iozone的HBA卡性能测试的方法

Publications (1)

Publication Number Publication Date
CN104978250A true CN104978250A (zh) 2015-10-14

Family

ID=54274780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510350727.7A Pending CN104978250A (zh) 2015-06-23 2015-06-23 一种基于iozone的HBA卡性能测试的方法

Country Status (1)

Country Link
CN (1) CN104978250A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105511999A (zh) * 2015-12-10 2016-04-20 浪潮电子信息产业股份有限公司 一种基于iozone的USB接口性能测试的方法
CN111858309A (zh) * 2020-06-19 2020-10-30 浪潮电子信息产业股份有限公司 一种iozone测试方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744759A (zh) * 2013-12-27 2014-04-23 浪潮电子信息产业股份有限公司 一种Linux***下无人值守磁盘性能及稳定性验证方法
CN104536902A (zh) * 2015-01-28 2015-04-22 浪潮电子信息产业股份有限公司 一种测试服务器io子***的性能调优方法
CN104572386A (zh) * 2015-01-08 2015-04-29 浪潮电子信息产业股份有限公司 一种Linux下自动测试HBA卡带宽的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744759A (zh) * 2013-12-27 2014-04-23 浪潮电子信息产业股份有限公司 一种Linux***下无人值守磁盘性能及稳定性验证方法
CN104572386A (zh) * 2015-01-08 2015-04-29 浪潮电子信息产业股份有限公司 一种Linux下自动测试HBA卡带宽的方法
CN104536902A (zh) * 2015-01-28 2015-04-22 浪潮电子信息产业股份有限公司 一种测试服务器io子***的性能调优方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105511999A (zh) * 2015-12-10 2016-04-20 浪潮电子信息产业股份有限公司 一种基于iozone的USB接口性能测试的方法
CN111858309A (zh) * 2020-06-19 2020-10-30 浪潮电子信息产业股份有限公司 一种iozone测试方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN104809042A (zh) 一种基于iozone的硬盘性能测试的方法
CN103744759A (zh) 一种Linux***下无人值守磁盘性能及稳定性验证方法
CN104360919A (zh) 一种自动进行ssd性能、功能及稳定性测试的方法
CN102521354B (zh) 一种数据库协议审计测试方法及装置
CN106682036A (zh) 一种数据交换***及其交换方法
CN105260281A (zh) 一种基于iozone的PCIE SSD卡性能测试的方法
CN104850479A (zh) 一种基于fio的硬盘自动化测试方法
CN109189756A (zh) 电子装置、数据迁移的方法及存储介质
CN106126421A (zh) 一种自动测试并对比pcie‑ssd性能的方法
CN106095528B (zh) 一种检测虚拟机盘符的方法
CN105487952A (zh) 一种基于fio的pcie-ssd自动化测试方法
CN104484685A (zh) 一种批量发行智能卡的方法及***
CN106155589A (zh) 一种虚拟动态分区镜像文件生成方法及***
CN104615514A (zh) 一种对raid卡各raid级别性能检验方法
CN113282555A (zh) 一种数据处理方法、装置、设备及存储介质
CN107273251A (zh) 一种在生产环境下Rack机柜JBOD存储的测试方法
CN104978250A (zh) 一种基于iozone的HBA卡性能测试的方法
CN105320510A (zh) 一种自动追踪数据关系的方法及装置
US10956294B2 (en) Methods and systems for testing storage devices via a representative I/O generator
CN107885644A (zh) 一种基于Linux***下快速查看BIOS默认值的方法
CN109507991A (zh) 一种双轴伺服控制平台调试***及方法
CN105468488A (zh) 一种基于ib网络的无盘测试cpu的方法、装置及***
CN105843716A (zh) 一种基于mltt的io功能测试方法
CN110990207B (zh) 基于Whitley平台的BPS内存测试方法、***、终端及存储介质
CN105511999A (zh) 一种基于iozone的USB接口性能测试的方法

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: 20151014