天天看點

伺服器硬碟測試可以這樣搞

      伺服器硬碟測試方法很多,在我們的環境,常用的參考方法如下所示,當你看完以後,不妨采用以下。

一、伺服器硬體的設定:

      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低,為什麼。在你的腦海裡,要形成一個應用場景,然後嘗試着模拟,加以優化改造,驗證想法的真實可行度。