`
zhengdl126
  • 浏览: 2511502 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

linux下测试磁盘的读写IO速度

 
阅读更多

转载:http://blog.chinaunix.net/uid-24250828-id-3239100.html

 

有时候我们在做维护的时候,总会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进行下一步的决策.

下面是两种测试方法:
(1)使用hdparm命令
这是一个是用来获取ATA/IDE硬盘的参数的命令,是由早期Linux IDE驱动的开发和维护人员 Mark Lord开发编写的( hdparm has been written by Mark Lord <mlord@pobox.com>, the primary developer and maintainer of the (E)IDE driver for Linux, with suggestions from many netfolk).该命令应该也是仅用于Linux系统,对于UNIX系统,ATA/IDE硬盘用的可能比较少,一般大型的系统都是使用磁盘阵列的.

使用方法很简单
# hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads: 6676 MB in 2.00 seconds = 3340.18 MB/sec
Timing buffered disk reads: 218 MB in 3.11 seconds = 70.11 MB/sec


可以看到,2秒钟读取了6676MB的缓存,约合3340.18 MB/sec;
在3.11秒中读取了218MB磁盘(物理读),读取速度约合70.11 MB/sec

(2)使用dd命令
这不是一个专业的测试工具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使用来对磁盘的读写速度作一个简单的评估.
另外由于这是一个免费软件,基本上×NIX系统上都有安装,对于Oracle裸设备的复制迁移,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手册)
后者可以通用,但不够专业,也没有考虑到缓存和物理读的区分,测试的数据也是仅作参考,不能算是权威.

分享到:
评论

相关推荐

    Linux下测试磁盘的读写IO速度

    这时候通常希望能知道磁盘的读写速度,来进行下一步的决策.  下面是两种测试方法:  (1)使用hdparm命令  这是一个是用来获取ATA/IDE硬盘的参数的命令,是由早期Linux IDE驱动的开发和维护人员 Mark Lord开发...

    Linux 查看磁盘IO并找出占用IO读写很高的进程

    主要介绍了Linux 查看磁盘IO并找出占用IO读写很高的进程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    Linux 性能监测:IO

    磁盘通常是计算机最慢的子系统,也是最容易出现性能瓶颈的地方,因为磁盘离 CPU 距离最远而且 CPU 访问磁盘要涉及到机械操作,...要监测 IO 性能,有必要了解一下基本原理和 Linux 是如何处理硬盘和内存之间的 IO 的。

    Linux性能监控

    linux性能监控,就是要监控系统的各个子系统是否正常。linux主要的子系统包括:CPU、...IO密集型:大量的磁盘读写,高负荷的内存使用。IO密集型不会对CPU发起更多的请求,它占用CPU只是为了产生IO请求然后sleep。通

    linuxI/O调度器

    linuxI/O调度器详解 及 每种调度器的读写测试

    【嵌入式软件工程师面经】Linux文件IO.pdf

    直接IO: 与具体的硬件设备进行数据传输,如磁盘、GPU等。 缓冲IO: 数据首先被读取到一个内存缓冲区,然后再从缓冲区移动到最终的目的地。 同步与异步IO: 同步IO要求操作完成后程序才继续运行,而异步IO允许程序在...

    Linux系统的性能测试与性能分析

    频繁的磁盘读写会增加对内存的使用  2. 大量的网络吞吐,一定意味着非常可观的CPU利用率  可用内存的减少可能增加大量的swapping,从而使系统负载上升甚至崩溃  2 应用程序类型  性能测试之前,你首先...

    loadrunner测试资料

     现在有很多的服务器系统都是采用linux操作系统,在linux平台下测试I/O性能可以采用iozone。 iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。可以测试Read, write, re-read, ...

    Linux处理性能问题常用命令(物联网后台开发)

    #磁盘读写 sar -b 1 3 #@磁盘使用,查看占用磁盘最高的是哪个进程 iotop #io性能 每秒显示1次,仅显示3次 iostat -x 1 3 #@dump数据包 tcpdump -nn port 80 tcpdump -nn -c 100 -w 1.cap tcpdum

    iotop命令 监视磁盘I/O状态

    Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。 语法格式:iotop [参数] 常用参数: -o 只显示有io...

    羊驼:一个简单Linux仪表板

    羊驼一个基于vue2.0 python2.7 flask的简单Linux仪表板,用于收集,统计和展示Linux操作系统信息,主要包括四个维度的信息:基本信息:ip,主机名,cpu配置信息,磁盘分区信息等;系统信息:前负载和变化趋势,cpu...

    硬盘的文件系统结构

    操作系统在读写文件时,根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置,然后顺序读取每个簇的内容就可以了。 • 数据区(DATA) 。在DIR区之后,才是真正意义上的数据存储区,即DATA区。DATA虽然...

    web大文件上传代码

    新的IO组件在处理磁盘中的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件...

    asp.net大文件上传示例代码-access-gb2312

    新的IO组件在处理磁盘中的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件...

    php大文件上传示例代码-mysql-utf8

    新的IO组件在处理磁盘中的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件...

    JSP大文件上传控件-access-utf8

    新的IO组件在处理磁盘中的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件...

    windows实用dos命令大全

    (5)选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道貌岸然和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。  (6)选用[/U]参数,表示无条件格式化,即破坏...

    4399大数据笔试题.pdf

    操作系统将数据从socket缓冲区中复制到⽹卡缓冲区,以便将数据经⽹络发出 ⽣产者客户端缓存消息批量发送,消费者批量从broker获取消息,减少⽹络io次数,充分利⽤磁盘顺序读写的性能。 通常情况下kafka的瓶颈不是...

    使用内存文件系统后系统内存统计方法

    这部分内存空间具有高速读写特性,可以存储那些对磁盘IO要求较高的数据,显著的提升系统的服务性能。  Ramdisk分为两种,一种是固定空间大小的空间,跟硬盘分区完全一样,可以格式化并挂载使用;一种是以内存文件...

Global site tag (gtag.js) - Google Analytics