测试linux下磁盘的读写速率

1) 通过df -h命令查看磁盘情况

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda4             289G   61G  214G  23% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda2             969M   62M  857M   7% /boot
/dev/sda1             999M  268K  998M   1% /boot/efi
/dev/sda3             626G  8.0G  586G   2% /home


2)通过hdparm测试读取速率

[root]# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads: 542 MB in  3.01 seconds = 180.09 MB/sec

从中可以看到,平均读盘速率是180.09 MB/sec


linux下硬盘读写速度测试

1. 测试读取速度

haparm -Tt /dev/xxx
1.1 获取硬盘设备名称:

    fdisk -l

    Disk /dev/xvdf: 365.0 GB, 365041287168 bytes

    255 heads, 63 sectors/track, 44380 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

1.2 测试硬盘读取速度

    hdparm -tT /dev/xvdf

    /dev/xvdf:

    Timing buffered disk reads: 962 MB in 3.00 seconds = 320.56 MB/sec

1.3 硬盘读取速度测试结果
1.3.1 台式物理机

  spec: 7200转硬盘

    hdparm -tT /dev/sda

    /dev/sda:
    Timing cached reads: 7650 MB in 2.00 seconds = 3829.28 MB/sec
    Timing buffered disk reads: 296 MB in 3.02 seconds = 98.05 MB/sec

1.3.2 VmWare虚拟机

host spec: 7200转硬盘

    hdparm -tT /dev/sda

    /dev/sda:
    Timing cached reads: 11396 MB in 2.00 seconds = 5704.37 MB/sec
    Timing buffered disk reads: 648 MB in 3.09 seconds = 209.45 MB/sec

1.3.3 amazon EC2上虚拟机

Instance type: m1.large

    hdparm -tT /dev/xvdf

    /dev/xvdf:
    Timing cached reads: 5830 MB in 1.99 seconds = 2923.38 MB/sec
    Timing buffered disk reads: 950 MB in 3.00 seconds = 316.61 MB/sec

2. 测试写速度
2.1 测试方法

使用time命令和dd命令可以简单测试硬盘的写速率
2.2. 硬盘读取速度测试结果
2.2.1 台式物理机

  spec: 7200转硬盘

    time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file
    1000000+0 records in
    1000000+0 records out
    1024000000 bytes (1.0 GB) copied, 9.78201 s, 105 MB/s

    real 0m9.806s
    user 0m0.236s
    sys 0m3.120s

1.3.2 VmWare虚拟机

host spec: 7200转硬盘

    time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file
    1000000+0 records in
    1000000+0 records out
    1024000000 bytes (1.0 GB) copied, 13.533 s, 75.7 MB/s

    real 0m13.605s
    user 0m0.113s
    sys 0m3.077s

1.3.3 amazon EC2上虚拟机

Instance type: m1.large

    time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file

    1000000+0 records in
    1000000+0 records out
    1024000000 bytes (1.0 GB) copied, 22.6497 s, 45.2 MB/s

    real 0m23.785s
    user 0m0.504s
    sys 0m5.888s

3. 总结
        物理机        VmWare虚拟机        Amazon虚拟机   
  读速度       105     209.45     316.61
  写速度     105     75.7     45.2

 

 

 

4. 附录

    hdparm -h

    -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 评估硬盘的读取效率。   -T 评估硬盘快取的读取效率。   
    -u<0或1> 在硬盘存取时,允许其他中断要求同时执行。   -v 显示硬盘的相关设定。   
    -W<0或1> 设定硬盘的写入快取。   -X<传输模式> 设定硬盘的传输模式。   
    -y 使IDE硬盘进入省电模式。   -Y 使IDE硬盘进入睡眠模式。   
    -Z 关闭某些Seagate硬盘的自动省电功能。

上一篇:Mysql 查询分页优化


下一篇:oracle中查询、禁用、启用、删除表外键