Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6319451
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: 系统运维

2014-01-08 04:36:49

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


一、服务器硬件的设置:

      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) |
给主人留下些什么吧!~~