最近又遇到了性能测试相关的话题,现在常测试的无非就是接口读写,网络性能,CPU性能之类的,找了下常用的最基础的工具,后续慢慢逐一讨论。
hdparm
hdparm [-CfghiIqtTvyYZ] [-a<快取分区>][-A<0或1>][-c<I/O模式>][-d<0或1>][- k<0或1>][-K<0或1>][-m<分区数>][-n<0或1>][-p <PIO模式>][-P <分区数>][-r<0或1>][-S<时间>][-u <0或1>][-W <0或1>][-X<传输模式>][设备]
补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。
参 数:
-a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。
-A<0或1> 启动或关闭读取文件时的快取功能。
-c<I/O模式> 设定IDE32位I/O模式。
-C 检测IDE硬盘的电源管理模式。
-d<0或1> 设定磁盘的DMA模式。
-f 将内存缓冲区的数据写入硬盘,并清除缓冲区。
-g 显示硬盘的磁轨,磁头,磁区等参数。
-h 显示帮助。
-i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
-I 直接读取硬盘所提供的硬件规格信息。
-k<0或1> 重设硬盘时,保留-dmu参数的设定。
-K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。
-m<磁区数> 设定硬盘多重分区存取的分区数。
-n<0或1> 忽略硬盘写入时所发生的错误。
-p<PIO模式> 设定硬盘的PIO模式。
-P<磁区数> 设定硬盘内部快取的分区数。
-q 在执行后续的参数时,不在屏幕上显示任何信息。
-r<0或1> 设定硬盘的读写模式。
-S<时间> 设定硬盘进入省电模式前的等待时间。
-t 评估硬盘的读取效率(不经过磁盘cache)。
-T 评估硬盘快取的读取效率。
-u<0或1> 在硬盘存取时,允许其他中断要求同时执行。
-v 显示硬盘的相关设定。
-W<0或1> 设定硬盘的写入快取。
-X<传输模式> 设定硬盘的传输模式。
-y 使IDE硬盘进入省电模式。
-Y 使IDE硬盘进入睡眠模式。
-Z 关闭某些Seagate硬盘的自动省电功能。
----------------------------------------
补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。
测试各硬盘读取速度判断硬盘故障
在服务端命令窗口中执行如下命令
hdparm -t /dev/hda (IDE硬盘)
hdparm -t /dev/sda (SATA、SCSI、硬RAID卡阵列)
hdparm -t /dev/md0 (软RAID设备)
测试举例:
1、评估硬盘的读取效率(不经过磁盘cache)
root@LOonux:/home/loongson# hdparm -t /dev/sda /dev/sda: Timing buffered disk reads: 222 MB in 3.02 seconds = 73.59 MB/sec
设定或取消硬盘的写入快取
root@LOonux:/home/loongson# hdparm -W 0 -t /dev/sda /dev/sda: setting drive write-caching to 0 (off) write-caching = 0 (off) Timing buffered disk reads: 222 MB in 3.01 seconds = 73.84 MB/sec root@LOonux:/home/loongson# hdparm -W 1 -t /dev/sda /dev/sda: setting drive write-caching to 1 (on) write-caching = 1 (on) Timing buffered disk reads: 220 MB in 3.00 seconds = 73.23 MB/sec
2、 评估硬盘快取的读取效率
root@LOonux:/home/loongson# hdparm -t /dev/sda 硬盘的读取速度 /dev/sda: Timing buffered disk reads: 226 MB in 3.01 seconds = 75.15 MB/sec root@LOonux:/home/loongson# hdparm -T /dev/sda 硬盘缓存的读取速度 /dev/sda: Timing cached reads: 756 MB in 2.00 seconds = 377.97 MB/sec root@LOonux:/home/loongson# hdparm -W 0 -T /dev/sda /dev/sda: setting drive write-caching to 0 (off) write-caching = 0 (off) Timing cached reads: 792 MB in 2.00 seconds = 395.39 MB/sec root@LOonux:/home/loongson# hdparm -W 1 -T /dev/sda /dev/sda: setting drive write-caching to 1 (on) write-caching = 1 (on) Timing cached reads: 778 MB in 2.00 seconds = 388.37 MB/sec
root@LOonux:/home/loongson# hdparm -tT /dev/sda /dev/sda: Timing cached reads: 768 MB in 2.00 seconds = 383.38 MB/sec Timing buffered disk reads: 224 MB in 3.02 seconds = 74.16 MB/sec root@LOonux:/home/loongson# hdparm -tT --direct /dev/sda /dev/sda: Timing O_DIRECT cached reads: 206 MB in 2.00 seconds = 103.01 MB/sec Timing O_DIRECT disk reads: 258 MB in 3.01 seconds = 85.67 MB/sec
root@LOonux:/home/loongson# time dd if=/dev/zero of=/var/test bs=2M count=100 记录了100+0 的读入 记录了100+0 的写出 209715200字节(210 MB)已复制,3.57205 秒,58.7 MB/秒 real 0m4.486s user 0m0.004s sys 0m2.738s root@LOonux:/home/loongson# time dd if=/var/test of=/dev/mull bs=2M count=100 记录了100+0 的读入 记录了100+0 的写出 209715200字节(210 MB)已复制,1.94033 秒,108 MB/秒 real 0m1.960s user 0m0.004s sys 0m1.879s