在平时的工作中,经常需要评估一些服务器的资源,磁盘IO是其中一个容易出现瓶颈的地方,那么我们通常需要预先知道该服务器上的磁盘IO能达到多少。在这里记录一下经常用到的一个用来测试磁盘读写能力的命令。

1. dd命令

dd 命令从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

主要参数说明:

  • if 指定读取的文件路径
  • of 指定输出的文件路径
  • bs 传输的每个数据块的大小
  • count 传输的数据块的数量
  • oflag/iflag=direct 表示测试时不使用cache,而是直接读写磁盘

测试磁盘的读性能

time dd if=test.file of=/dev/null  bs=2048 count=500000 iflag=direct

测试磁盘的写性能

time dd of=test.file if=/dev/zero  bs=2048 count=500000 oflag=direct


可以看到:加缓存和不加缓存标志的写速率差别很大。

/dev/null与/dev/zero的区别

  • /dev/null类似于一个“黑洞”,所有写入它的数据都会被“吃掉”,不占用磁盘空间;我们经常再重定向的时候使用它。
  • /dev/zero也是一个伪设备,可以用于向设备或文件写入字符串0。

2. sar命令

如果说dd命令是用来测磁盘IO的极限的话,那么sar命令就是用来查看当前磁盘IO的性能(不止可以测磁盘,还可以用来查看其它硬件的性能,后面有时间整理个全的)。

参数说明

  • -d参数代表查看磁盘性能
  • -p参数代表将 dev 设备按照 sda,sdb……名称显示,
  • 第一数字代表每隔多少秒采一次数值
  • 第二个数字代表总共采多少次数值

返回值说明

  • tps:每秒从物理磁盘I/O的次数
  • rd_sec/s:每秒读扇区的次数(一般情况下一个扇区的大小是512字节)
  • wr_sec/s:每秒写扇区的次数
  • avgrq-sz:平均每次设备I/O操作的数据大小(扇区)
  • avgqu-sz:磁盘请求队列的平均长度
  • await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒)
  • svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.
  • %util:I/O请求占CPU的百分比,比率越大,说明越饱和

3. iostat命令

iostat命令与sar的使用类似,不过主要是用来测量磁盘IO性能的,没有sar的功能那么丰富。

基本用法:iostat [ 选项 ] [ <时间间隔> [ <次数> ]]
主要选项:
-c:只显示系统CPU统计信息,即单独输出avg-cpu结果,不包括device结果
-d:单独输出Device结果,不包括cpu结果
-k/-m:输出结果以kB/mB为单位,而不是以扇区数为单位
-x:输出更详细的io设备统计信息
interval/count:每次输出间隔时间,count表示输出次数,不带count表示循环输出

linux测试磁盘读写能力相关推荐

  1. linux怎么测试磁盘读写,怎样测试Linux磁盘的读写速率

    为了测试Linux磁盘的读写速率,否运用dd号令,dd号令是一个十分运用的号令,否用于文件的拷贝,上面小编便给各人引见了若何运用dd号令测试Linux磁盘的读写速率吧. 一.先相熟二个特殊的设施: ( ...

  2. 【Linux】Linux测试磁盘 IO 性能

    1.美图 2 hdparm 命令 hdparm 命令提供了一个命令行的接口用于读取和设置IDE或SCSI硬盘参数,注意该命令只能测试磁盘的读取速率. 例如,测试 sda 磁盘的读取速率: [root@ ...

  3. java 测试磁盘io,详解三种Linux测试磁盘IO性能的方法总结,值得收藏

    概述 在磁盘测试中我们一般最关心的几个指标分别为:iops(每秒执行的IO次数).bw(带宽,每秒的吞吐量).lat(每次IO操作的延迟). 当每次IO操作的block较小时,如512bytes/4k ...

  4. dump的文件 查看pg_详解linux查看磁盘读写信息--blockdump、blktrace、systemtap

    概述 很多时候我们在问题调查中有时候会看到磁盘很忙但是就是不知道谁在写,今天主要介绍几个简单方法能够比较方便的看到磁盘写的细节. 思路 首先,来看看IO协议栈的大致样子,然后我们就知道所谓的查看磁盘读 ...

  5. linux测试磁盘io脚本,脚本分享:Linux下磁盘io测试

    这两天在测试Dell的PS6000存储,在linux下也懒得去找测试工具了,就直接使用dd命令进行I/O测试,但因为需要测试的数据很多,从512b到4M的块,每一档都要进行读写的测试,这要是人肉来做, ...

  6. Linux下磁盘读写优化的分析

    问题:写入1MBi大小数据到文件里,1次写入1K共写1024次和1次性写入1M仅写1次的速率差异是多大?哪个更快?为什么呢?不妨测试一下: 1MBi文件,一次性写入1MBi #include < ...

  7. windows下测试磁盘读写(HD Tune)

    3个SATA磁盘组成RAID 5,4个SAS硬盘组成另外一个RAID 5.测试结果如下: 用HD Tune测试读速度: 用HD Tune测试写速度(需要删除分区再测试): 本文转自 sailikung ...

  8. linux命令 磁盘读写,Linux查看磁盘读写的方法

    首先 .用top命令查看 top - 16:15:05 up 6 days,  6:25,  2 users,  load average: 1.45, 1.77, 2.14 Tasks: 147 t ...

  9. linux用dd测试磁盘速度

    [root@localhost ~]# time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file 记录了1000000+0 的读入 记录了1000 ...

最新文章

  1. 【POJ 3041】Asteroids (最小点覆盖)
  2. Hardware assisted virtualization and data execution protection must be enabled in the BIOS
  3. 第四届“强网杯”全国网络安全挑战赛_部分WP
  4. linux环境搭建golang服务器,Linux下golang环境搭建-Go语言中文社区
  5. 关于actionprovider
  6. python标准模块os
  7. VISTA中释放系统还原占用的硬盘空间
  8. VS 2005 WEB PROJECT包括Crystal Report水晶报表的发布
  9. POJ1330-Nearest Common Ancestors【tarjan,LCA】
  10. 数位dp从会打模板到不会打模板
  11. python 二元函数绘制_Python绘制二元函数曲面
  12. 苹果iPhone XI奋起直追?直接升级四摄镜头
  13. 如何将FAT32分区直接转为NTFS分区
  14. HDU2022 海选女主角【最值】
  15. 转:Linux 僵尸进程详解
  16. bable.js是什么
  17. 宁海元 mysql_每公斤约360元 宁海香榧可以品尝了
  18. 致我们终将逝去的高考
  19. babel-预设和插件
  20. 【opencv机器学习】基于SVM和神经网络的车牌识别

热门文章

  1. 快速幂+矩阵快速幂模板
  2. 找回旧帖:谢谢斩月,谢谢monkeycz,谢谢dtcser,谢谢超级大BUG
  3. SPOOLing技术的理解
  4. Android OkHttp3的使用和原理
  5. 高德地图、google、openstreenmap地图瓦片数据爬取--java代码(地图数据篇.3)
  6. 到曾经去过的地方,向经典致敬!
  7. 梯度下降法,牛顿迭代,牛顿法,拟牛顿法总结对比
  8. 网络协议 3 - 物理层 和 MAC 层
  9. Android 开发架构-MVC MVP MVVM详解
  10. 游戏化设计工作坊--MIXTure团队的预习作业