欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

性能测试篇-通过shell脚本优化iozone测试硬盘读写性能

程序员文章站 2024-03-21 17:15:46
...

在利用iozone进行测试时,会执行一系列命令,下面这两个文件可能会帮到你

因为测试时会测试不同的内存,所以要经常改,这里我写了两个shell程序,简化测试

一个是iozone_Run.sh,一个是 iozone_First.sh

首先是iozone_First.sh

#!/bin/sh

echo "测试开始"
echo "iozone..."
SIZE=$1  
NUM=2
SIZE1=`expr $SIZE / $NUM`
SIZE2=`expr $SIZE \* $NUM`
./iozone -a -i 0 -i 1 -i 2 -r 16m -s ${SIZE1}G >> ./iozone${SIZE1}G_res
./iozone -a -i 0 -i 1 -i 2 -r 16m -s ${SIZE1}G >> ./iozone${SIZE1}G_res1
./iozone -a -i 0 -i 1 -i 2 -r 16m -s ${SIZE1}G >> ./iozone${SIZE1}G_res2
./iozone -a -i 0 -i 1 -i 2 -r 16m -s ${SIZE}G >> ./iozone${SIZE}G_res
./iozone -a -i 0 -i 1 -i 2 -r 16m -s ${SIZE}G >> ./iozone${SIZE}G_res1
./iozone -a -i 0 -i 1 -i 2 -r 16m -s ${SIZE}G >> ./iozone${SIZE}G_res2
./iozone -a -i 0 -i 1 -i 2 -r 16m -s ${SIZE2}G >> ./iozone${SIZE2}G_res
./iozone -a -i 0 -i 1 -i 2 -r 16m -s ${SIZE2}G >> ./iozone${SIZE2}G_res1

第二个就是我们要运行的iozone_Run.sh

#!/bin/sh

cd .
make linux
chmod +x Run_iozone.sh
Num=$1
Num2=0
if [ !$Num ]
then
 if [ $Num > $Num2 ]
 then
  ./iozone_First.sh $Num
 else
  echo "请输入测试内存的1倍大小,会自动生成1/2倍,1倍,2倍的数据,测试单位为G"
 fi
else
echo "请输入测试内存的1倍大小,会自动生成1/2倍,1倍,2倍的数据,测试单位为G"
fi

将这两个文件放到解压后的iozone源码包/src/current

然后打开终端运行

chmod +x iozone_Run.sh
./iozone_Run.sh 5  #这里的5是我测试的电脑内存大小,对应你的linux系统电脑内存大小

然后结果就在各自生成的文件中iozone*G_res*文件中 ,有九个文件,分别对其同内存大小的数据进行平均