服务器硬盘测试方法很多,在我们的环境,常用的参考方法如下所示,当你看完以后,不妨采用以下。
一、服务器硬件的设置:
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<=1024;i+=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<=1024;i+=i))
do
echo "direct" >>stat_R.log
#init log file
echo >${LOG_PATH}/tempfile_R_${i}.log
COUNT=$((2097152/${i}))
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
#echo "bs=${i}k------------coutn=${COUNT}"
done
结束语:测试结束以后,无论结果如何,我们一定要知道原因在哪儿?即硬盘IO高,为什么;IO低,为什么。在你的脑海里,要形成一个应用场景,然后尝试着模拟,加以优化改造,验证想法的真实可行度。
阅读(707) | 评论(0) | 转发(0) |