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硬盘的自动省电功能。

linux 磁盘读写性能测试的更多相关文章

  1. (转)Linux 磁盘IO性能测试

    Linux 如何测试 IO 性能(磁盘读写速度) 这几天做MySQL性能测试,偌大一个公司,找几台性能测试机器都很纠结,终于协调到两台,IO的性能如何还不知道.数据库属于IO密集型的应用,所以还是先评 ...

  2. [skill] mmap / fwrite / write linux磁盘读写的分层结构

    转自:http://www.cnblogs.com/zhaoyl/p/5901680.html 看完此文,题目不言自明.转自 http://blog.chinaunix.net/uid-2710571 ...

  3. 使用iozone进行磁盘读写性能测试

    对于很多GIS工程师,经常需要对系统的磁盘性能进行测试,为了排查问题或者帮助用户进行系统设计. IOZone这个磁盘性能测试工具就是一个很方便的辅助工具. 下面就以个测试共享目录的读写性能为例,说明其 ...

  4. linux磁盘读写性能优化

    在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不过来,我们可以 动态调整请求队列数来提高效率,默认的请求队列数存放在/sys/block/xvda/queue/nr_requests 文 ...

  5. 【Linux】磁盘读写 测试

    一.如何查看当前磁盘的IO使用情况 使用命令:iotop Total DISK READ: 3.89 K/s | Total DISK WRITE: 0.00 B/s TID PRIO USER DI ...

  6. Linux查看磁盘读写

    ---------- 查看磁盘读写---------iostat -k 1 SQL> ho iostatLinux 2.6.32-279.el6.x86_64 (server-92)  08/1 ...

  7. Linux系统性能测试工具(九)——文件系统的读写性能测试工具之iozone

    本文介绍关于Linux系统(适用于centos/ubuntu等)的文件系统的读写性能测试工具-iozone: 参考链接: https://www.cnblogs.com/Dev0ps/p/788938 ...

  8. MySQL 调优基础(四) Linux 磁盘IO

    1. IO处理过程 磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言.数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以wri ...

  9. 攻城狮在路上(叁)Linux(十七)--- linux磁盘与文件管理概述

    一.复习知识点: 1.扇区是最小的物理存储单位,大小为512bytes. 2.扇区组成一个圆,成为柱面,柱面是分区的最小单位. 3.第一个扇区很重要,因为包含了MBR(446字节)和分区表(64字节) ...

随机推荐

  1. 如何获取Window

    [[UIApplication sharedApplication].delegate window]

  2. String str 与 String str=new String("") 区别

    1.当使用String str="abc",这种方式时,先去内存的Heap中找是否存在"abc"这个字符串,若存在,则将地址引用.若不存在则创建. 2.当使用S ...

  3. [GeekBand] STL与泛型编程(3)

    本篇文章主要介绍泛型算法中的变易.排序.数值算法. 一. 变易算法 所谓变易算法是指那些改变容器中的对象的操作. 1.1 copy组 template <class InputIterator, ...

  4. vs2010创建COM以及调用

    1,创建COM组件 2,调用COM 3,MFC调用COM

  5. Poj 2707 Copier Reduction

    1.Link: http://poj.org/problem?id=2707 2.Content: Copier Reduction Time Limit: 1000MS   Memory Limit ...

  6. php 字母大小写转换的函数

    分享下,在php编程中,将字母大小写进行转换的常用函数. 1.将字符串转换成小写strtolower(): 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串 2.将字符转成大 ...

  7. Ubuntu 12.04 安装sougou for linux

    安装sougou for linux: 1.卸载原有的输入法,fcitx或ibus.如卸载fcitx: sudo apt-get remove fcitx*(如不需保留配置文件用purge) sudo ...

  8. (转载)根据数据字典表定义的表结构,生成创建表的SQL语句

    <来源网址:http://www.delphifans.com/infoview/Article_221.html>根据数据字典表定义的表结构,生成创建表的SQL语句 //1.  类名:T ...

  9. RedHat6.4 用UDEV配置ASM所需磁盘

    同事在装一套RAC测试环境,结果发现原来用ASMLIB来配置磁盘,在安装GRID的时候,最终报错了,经过检查发现居然两边的磁盘不匹配.A机的sdb,sdc分别对应OCRVOL1,OCRVOL2,但是B ...

  10. 【Google Protocol Buffer】Google Protocol Buffer

    http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/ Google Protocol Buffer 的使用和原理 Protocol Buffers ...