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=   # 如果要测试实际速度 还要在末尾加上 oflag=direct测到的才是真实的IO速度

b.测试磁盘的IO读速度

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

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

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

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

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- ~]# time dd if=/dev/sda1 of=test.dbf bs=8k count=
+ records in
+ records out
bytes ( MB) copied, 2.23626 s, 93.8 MB/s real 0m2.394s
user 0m0.002s
sys 0m0.352s
[root@my1- ~]#

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

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

linux下测试磁盘的读写IO速度-简易方法的更多相关文章

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

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

  2. linux下测试磁盘的读写IO速度【转】

    Reference1:http://server.chinabyte.com/495/12361995.shtmlReference2:https://www.deleak.com/blog/2011 ...

  3. Linux 下测试磁盘读写 I/O 速度的方法汇总

    在分布式异构存储系统中,我们经常会需要测量获取不同节点中硬盘/磁盘的读写 I/O 速度,下面是 Linux 系统下一些常用测试方法(之后不定期更新): 1.使用 hdparm 命令这是一个是用来获取A ...

  4. linux上测试磁盘IO速度

    运维工作,经常要测试服务器硬件性能,以此来判断是否存在性能瓶颈. 下面介绍在linux上测试磁盘IO速度的工具: 1.hdparm CentOS中,安装的两种方法: 1) yum安装. # yum i ...

  5. [转帖]linux下CPU、内存、IO、网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具

    linux下CPU.内存.IO.网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具 https://blog.51cto.com/hao360/1587165 linux_python关 ...

  6. (转)Linux下select, poll和epoll IO模型的详解

    Linux下select, poll和epoll IO模型的详解 原文:http://blog.csdn.net/tianmohust/article/details/6677985 一).Epoll ...

  7. Linux下的磁盘分割和文件系统

    一.各硬件装置在Linux下的文件名 1.IDE硬盘机 在Linux内的文件名: /dev/hd[a-d]  (a-d 刚好是四个这个是有原因的具体如下) 解释:以 IDE 接口来说,由于一个 IDE ...

  8. Linux下查看磁盘挂载的几种方法

    Linux下查看磁盘挂载的几种方法 第一种方法:df命令 # df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtm ...

  9. Linux下查看磁盘挂载的三种方法

    Linux下查看磁盘挂载的三种方法 2009-06-05 23:17 好久没有更新日志了,呵呵.不是没有要写的东东.实在抽不出时间来写,要准备公司的考试呢,C++考试.已经有七个月没有写C++代码了, ...

随机推荐

  1. Nintex History in Form Table

    一.设置参数 二.调用WebService 三.For Each 调用 四.拼写HTML Table 结果: 特别提示:过滤人只要根据人来循环即可

  2. THEPYTHONCHALLENG闯关记录

    由于是自己看视频学python,总觉得不写几行代码就什么都没有学到. 找了一个写代码的网站其实只是因为这个看起来好玩. 闯关地址http://www.pythonchallenge.com/index ...

  3. 适用于Centos6.x系统的15项优化脚本

    1#!/bin/bash 2# Date: 2018-6-8 3#version:1.2 4#实现功能:一键系统优化15项脚本,适用于Centos6.x 5###################### ...

  4. Codeforces Global Round 1 自闭记

    A:签到. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> ...

  5. webpack——阮一峰webpackDemo分析

    首先上交阮一峰老师的github地址,一共有15个demo,我们一个一个的进行分析,结合上文所学的知识! 其中有一些内容,我做了修改,我是先看一遍然后从新敲了一遍. https://github.co ...

  6. Aizu2130-Billion Million Thousand-dp

    用dp求出最大的表达,再用dp求出.//然而并没有想出来 #include <cstdio> #include <string> #include <algorithm& ...

  7. atcoder NIKKEI Programming Contest 2019 E - Weights on Vertices and Edges

    题目链接:Weights on Vertices and Edges 题目大意:有一个\(n\)个点\(m\)条边的无向图,点有点权,边有边权,问至少删去多少条边使得对于剩下的每一条边,它所在的联通块 ...

  8. lemon special judge模板

    /* argv[1]:输入文件 argv[2]:选手输出文件 argv[3]:标准输出文件 argv[4]:单个测试点分值 argv[5]:输出最终得分的文件 argv[6]:输出错误报告的文件 */ ...

  9. bzoj 1854: [Scoi2010]游戏 (并查集||二分图最大匹配)

    链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1854 写法1: 二分图最大匹配 思路:  将武器的属性对武器编号建边,因为只有10000种 ...

  10. shopNC 拓扑图

    shopNC :