linux下测试磁盘的读写IO速度-简易方法

参考资料:
https://blog.csdn.net/zqtsx/article/details/25487185

一:使用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硬盘用的可能比较少,一般大型的系统都是使用磁盘阵列的.

使用方法很简单
[root@my1-222 ~]# hdparm -Tt /dev/sda3

/dev/sda3:
 Timing cached reads:   13034 MB in  2.00 seconds = 6527.09 MB/sec
 Timing buffered disk reads: 194 MB in  5.60 seconds =  34.64 MB/sec
[root@my1-222 ~]#

可以看到,2秒钟读取了13034MB的缓存,约合6527.09 MB/sec;
在3.11秒中读取了194MB磁盘(物理读),读取速度约合4.64 MB/sec

二:使用dd命令

  这不是一个专业的测试工具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使用来对磁盘的读写速度作一个简单的评估.另外由于这是一个免费软件,基本上×NIX系统上都有安装。

首先了解两个特殊设备

/dev/null 伪设备,回收站.写该文件不会产生IO
/dev/zero 伪设备,会产生空字符流,对它不会产生IO

测试方法:
a.测试磁盘的IO写速度

   time dd if=/dev/zero of=test.dbf bs=8k count=300000   # 如果要测试实际速度 还要在末尾加上 oflag=direct测到的才是真实的IO速度

b.测试磁盘的IO读速度

  dd if=test.dbf bs=8k count=300000 of=/dev/null 

#表示 每次写入/读取8k的数据,执行300000次

dd命令可以通用,但不够专业,也没有考虑到缓存和物理读的区分,测试的数据也是仅作参考,不能算是权威。

[root@my1-222 ~]# time dd if=/dev/zero of=test.dbf bs=8k count=300000
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 2.50417 s, 981 MB/sreal    0m2.537s
user    0m0.023s
sys    0m2.070s
[root@my1-222 ~]# time dd if=/dev/zero of=test.dbf bs=8k count=300000 oflag=direct
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 25.4357 s, 96.6 MB/sreal    0m25.550s
user    0m0.010s
sys    0m13.655s
[root@my1-222 ~]#[root@my1-222 ~]#  dd if=test.dbf bs=8k count=300000 of=/dev/null
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 1.94773 s, 1.3 GB/s
[root@my1-222 ~]# 

dd命令解释

dd if= of= bs= skip= seek= conv=

一定不要搞混 source 和 target,不然数据会丢失。所以 dd 平时用着顺手就叫它 dd,但是不小心把数据弄没了就该哭着叫它 Data Destroyer 了。

一般它的常用参数有:

bs=n,block size,每次读取 n bytes 写入,可与 count 联用;
ibs=n,一次读入 bytes 个字节 (default is 512);
obs=n,一次性写 n bytes 个字节 (default is 512);
bs 可以同时设置上边两个参数;
cbs=n,一次转换 n 个 bytes,即转换缓冲区大小。;
count=n, bs 操作的次数,仅拷贝 n 个块,如 dvd: bs=1M count=4430;
skip=n,指 if 后面的原文件跳过 n bytes 再开始读取;
seek=n,指 of 后面的目标文件跳过 n bytes 再开始写入;

测试IO同时读和写的速度

[root@my1-222 ~]# time dd if=/dev/sda1 of=test.dbf bs=8k count=300000
25600+0 records in
25600+0 records out
209715200 bytes (210 MB) copied, 2.23626 s, 93.8 MB/sreal    0m2.394s
user    0m0.002s
sys    0m0.352s
[root@my1-222 ~]# 

(同时测试读写速度时生成一个大小200M的 test.dbf文件)

上面测试的数据量比较小,仅作为参考.

转载于:https://www.cnblogs.com/bjx2020/p/9077843.html

linux下测试磁盘的读写IO速度-简易方法相关推荐

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

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

  2. 写linux程序测试吞吐量,Linux下测试磁盘性能(IO、吞吐量)

    使用软件:fio,可以从yum或apt-get安装 1.随机读 fio -filename=testFile -direct=1 -iodepth 1 -thread -rw=randread -io ...

  3. 提高Linux下打开WPS云文档速度的方法

    提高Linux下打开WPS云文档速度的方法 本人在优麒麟下使用WPS办公,发现WPS打开云文档缓慢,经过多次修改配置,发现修改以下几个配置可加快云文档打开速度 修改备份策略 "文件" ...

  4. Linux下测试SSD硬盘读写速率

    硬盘分为机械硬盘HDD和固态硬盘SSD两种.现在固态硬盘已经是大势所趋咯.SSD用的接口是NVME.在NVME协议下面还有一层PCIe协议.HDD硬盘接口有SATA,SATA接口常用的工作模式有AHC ...

  5. linux 测试串口命令,Linux 下测试串口的命令microcom

    昨天应为要测试主板上的串口,查了一下,可以使用microcom 这条命令进行测试. 命令使用方法很简单: Usage: microcom [-d DELAY] [-t TIMEOUT] [-s SPE ...

  6. Linux操作系统下测试磁盘读写速度

    如何提高系统的性能是所有Linux系统工程师都要考虑的问题,尤其对于大数据处理,不得不考虑系统的读写性能.要知道读写性能,前面博客中提到/O性能,可以看到每个I/O的状态,现在需要知道一个磁盘每秒读写 ...

  7. linux lvm添加磁盘,Linux下添加磁盘创建lvm分区

    shell> fdisk /dev/xvdb #### 选择磁盘 Command (m for help): m #### 帮助 Command action a toggle a bootab ...

  8. linux下的磁盘配额简介暨 linux下加挂硬盘续

    linux下的磁盘配额简介暨 linux下加挂硬盘续 实验环境 VMware 6.5.2 +redhat Enterprise 5 as 以上是内核版本,还有方便起见加挂一块硬盘 这只是我的环境 实验 ...

  9. Linux下的磁盘加密方法

    Linux下的磁盘加密方法 转载时请注明出处和作者联系方式 作者联系方式:李先静 <xianjimli at hotmail dot com> 随着智能手机的计算能力和存储能力的提高,手机 ...

最新文章

  1. 如何打开python的终端窗口_python终端窗口
  2. 深圳内推 | 腾讯AI Lab自然语言处理中心招聘NLP研究型实习生
  3. 【ELK Stack】ELK+KafKa开发集群环境搭建
  4. h.264 去块滤波
  5. 事实上着就是MAYA4.5完全手册插件篇的内容
  6. python和lua哪个有前途_lua、python对比学习
  7. Linux 命令(118)—— bzip2 命令
  8. CodeVs天梯钻石Diamond题解
  9. 学习vim: 配置python相关插件
  10. 微信公众号,微信授权进不去
  11. 虚幻4——实时渲染学习笔记
  12. 数学建模大赛准备方法及资源分享
  13. JUNIT5 + Mockito
  14. 图说三极管的三个工作状态____图解的很形象
  15. IP地址冲突的原因及其解决方法
  16. 爱了,这18个 Python 高效编程技巧真香
  17. 地址总线是单向还是双向_大余双向钢塑土工格栅%/*的作用泰安恒大工程材料-老友网...
  18. 每一个圣人都有一个过去
  19. sql server 2008 r2 忘记sa密码, 没有window账户登录, 解决办法
  20. Android adb 环境变量配置的坑 adb 不是内部或外部命令

热门文章

  1. 使用idea 时出现classnotfound
  2. Entity Framework中的Migration问题
  3. java使用HttpClient传输json格式的参数
  4. OpenvSwitch代码分析之bridge和port
  5. WPF and Silverlight 学习笔记(十):WPF控件模型
  6. SiteView NNM安装
  7. linux脚本做分数计算,shell脚本,计算学生分数的题目。
  8. 太阳的光和灯光有什么区别_太阳光
  9. oracle 查看统计情报,Oracle 查看收集统计信息
  10. 网站性能优化的常用方法