副问题[/!--empirenews.page--]
概述
在磁盘测试中我们一样平常最体谅的几个指标别离为:iops(每秒执行的IO次数)、bw(带宽,每秒的吞吐量)、lat(每次IO操纵的耽误)。
当每次IO操纵的block较小时,如512bytes/4k/8k等,测试的首要是iops。
当每次IO操纵的block较大时,如256k/512k/1M等,测试的首要是bw。

一、dd呼吁
dd是linux自带的磁盘读写器材,可用于测试次序读写。
一样平常而言,磁盘读写有两种方法:BufferIO、DirectIO,DirectIO可以更好的相识纯磁盘读写的机能。
1、语法
语法名目
- dd [option]
dd指令选项详解
- if=file:输入文件名,缺省为尺度输入
- of=file:输出文件名,缺省为尺度输出
- ibs=bytes:一次读入 bytes 个字节(即一个块巨细为 bytes 个字节)
- obs=bytes:一次写 bytes 个字节(即一个块巨细为 bytes 个字节)
- bs=bytes:同时配置读写块的巨细为 bytes ,可取代 ibs 和 obs
- cbs=bytes:一次转换 bytes 个字节,即转换缓冲区巨细
- skip=blocks:从输入文件开头跳过 blocks 个块后再开始复制
- seek=blocks:从输出文件开头跳过 blocks 个块后再开始复制。(凡是只有当输出文件是磁盘或磁带时才有用)
- count=blocks:仅拷贝 blocks 个块,块巨细便是 ibs 指定的字节数
- conv=ASCII:把EBCDIC码转换为ASCIl码。
- conv=ebcdic:把ASCIl码转换为EBCDIC码。
- conv=ibm:把ASCIl码转换为alternate EBCDIC码。
- conv=block:把变换位转换成牢靠字符。
- conv=ublock:把牢靠位转换成变换位。
- conv=ucase:把字母由小写转换为大写。
- conv=lcase:把字母由大写转换为小写。
- conv=notrunc:不截短输出文件。
- conv=swab:互换每一对输入字节。
- conv=noerror:堕落时不断止处理赏罚。
- conv=sync:把每个输入记录的巨细都调到ibs的巨细(用NUL添补)。
FLAGS参数声名:
- append -append mode (makes sense only for output; conv=notrunc sug-gested)
- direct:读写数据回收直接IO方法;
- directory:读写失败除非是directory;
- dsync:读写数据回收同步IO;
- sync:同上,可是针对是元数据
- fullblock:会萃满block(accumulate full blocks of input )(iflag only);
- nonblock:读写数据回收非阻塞IO方法
- noatime:读写数据不更新会见时刻
留意:指定命字的处所若以下列字符末了乘以响应的数字:b=512, c=1, k=1024, w=2, xm=number m,kB=1000,K=1024,MB=1000*1000,M=1024*1024,GB=1000*1000*1000,G=1024*1024*1024
2、dd测试DirectIO
- iops——写测试 dd if=/dev/zero of=./a.dat bs=8k count=1M oflag=direct
- iops——读测试 dd if=./a.dat of=/dev/null bs=8k count=1M iflag=direct
- bw——写测试 dd if=/dev/zero of=./a.dat bs=1M count=8k oflag=direct
- bw——读测试 dd if=./a.dat of=/dev/null bs=1M count=8k iflag=direct

3、 dd测试BufferIO
BufferIO首要呈此刻一些大文件读写的场景,因为行使内存做Cache以是读写机能上和DirectIO对比,凡是会高许多,尤其是读,以是这个场景下我们仅体谅bw即可。
用dd测试BufferIO的写时,必要增进一个conv=fdatasync,行使该参数,在完成全部读写后会挪用一个sync确保数据所有刷到磁盘上(时代操纵体系也有也许会主动flush),不然就是首要在测内存读写了;
其它尚有一个参数是oflag=dsync,行使该参数也是走的BufferIO,但却是会在每次IO操纵后都执行一个sync。
凡是conv=fdatasync更切合大文件读写的场景,以是这里以其作为参数举办测试。
- bw——写测试 dd if=/dev/zero of=./a.dat bs=1M count=8k conv=fdatasync
- bw——读测试 dd if=./a.dat of=/dev/null bs=1M count=8k

二、 fio器材
fio是专门用于测试磁盘IO的器材,与dd对比那是要强盛很是多,它可以用于测试次序读写、随机读写、次序殽杂读写、随机殽杂读写,而且可以调解IO并发量,在测试完成后还会天生一份测试陈诉,相等给力。
1、测试场景:
100%随机,100%读, 4K
- fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=rand_100read_4k
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|