cacti disk IO 读写阀值的设定

两种测试方法
1、使用hdparm,一个用来获取ATA/IDE硬盘的参数的命令,该命令仅用于Linux系统,对于unix系统
hdparm -Tt /dev/sda
2、使用dd命令,这不是一个专业的测试工具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使用来对磁盘的读写速度做一个简单的评估
/dev/null 伪设备 回收站,写该文件不会产生IO
/dev/zero 伪设备 会产生空字符流 对他不会产生IO
a、测试磁盘的IO写速度
# time dd if=/dev/zero of=/test.dbf bs=8k count=300000
300000+0 records in
300000+0 records out
10.59s real 0.43s user 9.40s system
# du -sm /test.dbf
2347 /test.dbf

可以看到,在10.59秒的时间里,生成2347M的一个文件,IO写的速度约为221.6MB/sec;
当然这个速度可以多测试几遍取一个平均值,符合概率统计.

b.测试磁盘的IO读速度
# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
19214 9545 8693 53% /
/dev/sda1 99 13 82 14% /boot
none 506 0 506 0% /dev/shm

# time dd if=/dev/mapper/VolGroup00-LogVol00 of=/dev/null bs=8k
2498560+0 records in
2498560+0 records out
247.99s real 1.92s user 48.64s system

上面的试验在247.99秒的时间里读取了19214MB的文件,计算下来平均速度为77.48MB/sec

c.测试IO同时读和写的速度
# time dd if=/dev/sda1 of=test.dbf bs=8k
13048+1 records in
13048+1 records out
3.73s real 0.04s user 2.39s system
# du -sm test.dbf
103 test.dbf

相比两种方法:
前者是linux上专业的测试IDE/ATA磁盘的工具,但是使用范围有局限性;(此试验仅仅使用了测试磁盘IO的参数,对于其他参数及解释参考man手册)
后者可以通用,但不够专业,也没有考虑到缓存和物理读的区分,测试的数据也是仅作参考,不能算是权威

要补充的是,我需要设置cacti上disk IO的阀值,设定以便报警,个人的经验,觉得可以使用dd得到测试结果,在使用dd做测试的使用,使用vmstat & iostat,分别查看wa & %util的值,根据wa & %util的值对dd的测试值进行一个估算,然后使用估算值作为cacti中disk IO的阀值
举例:
比如说我使用dd测试的结果是150M/s,在测试的同时得到的wa值为50,%util值为80,一般wa的值为30的时候就要警告了,所以可以设置cacti的阀值为150*(30/50)=90m/s.依次类推。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注