天天看点

服务器硬盘测试可以这样搞

      服务器硬盘测试方法很多,在我们的环境,常用的参考方法如下所示,当你看完以后,不妨采用以下。

一、服务器硬件的设置:

      Raid 设置:

      Raid type: Raid0, StripSize: 64KB,

I/O Policy: Direct, Default Write: Write Back with BBU

    硬盘设置:WCE=0

二、具体的测试方法,以脚本实现

#!/bin/bash

# create by xk

# date 2013-12-17

LOG_PATH=/home/xuekun

#init

>stat_W.log

>stat_R.log

#write

for Wm in {dsync,direct}

do

   echo ${Wm} >>stat_W.log

  #test

  #echo ${Wm}

  for((i=64;i

  do

    #init log file

    echo  >${LOG_PATH}/tempfile_W_${i}.log

    COUNT=$((2097152/${i}))

    dd if=/dev/zero of=/dev/sdb bs=${i}k count=${COUNT} oflag=${Wm} 2>${LOG_PATH}/tempfile_W_${i}.log

    echo -n ${i}----- >>stat_W.log

    grep GB tempfile_W_${i}.log |awk -F "," '{print $3}'|awk '{print $1,$2}' >>stat_W.log

    #echo "bs=${i}k------------coutn=${COUNT}"

  done

done

#read

for((i=64;i

    echo "direct" >>stat_R.log

    echo  >${LOG_PATH}/tempfile_R_${i}.log

    dd if=/dev/sdb of=/dev/null bs=${i}k count=${COUNT} iflag=direct 2>${LOG_PATH}/tempfile_R_${i}.log

    echo -n ${i}--- >>stat_R.log

    grep GB tempfile_R_${i}.log |awk -F "," '{print $3}'|awk '{print $1,$2}' >>stat_R.log

      结束语:测试结束以后,无论结果如何,我们一定要知道原因在哪儿?即硬盘IO高,为什么;IO低,为什么。在你的脑海里,要形成一个应用场景,然后尝试着模拟,加以优化改造,验证想法的真实可行度。