linux测试磁盘读写能力

您所在的位置:网站首页 linux测硬盘读写速度 linux测试磁盘读写能力

linux测试磁盘读写能力

2024-07-10 08:52| 来源: 网络整理| 查看: 265

在平时的工作中,经常需要评估一些服务器的资源,磁盘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表示循环输出

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3