多语言展示
当前在线:579今日阅读:26今日分享:39

linux系统下I/O设备

今天为大家介绍一下linux系统下I/O的基础操作!
工具/原料

linux环境

方法/步骤
2

二、磁盘i/o性能监控指标:1.每秒i/o数(IOPS,tps):一次磁盘的连续读或连续写称为一次磁盘i/o。iops每秒磁盘连续读和连续写次数之和、2.吞吐量:硬盘传输数据流的速度:传出数据=读出数据+写入数据3.平均io数据尺寸:吞吐量/io数目,该指标对于揭示磁盘使用模式有重要意义。一般来说,如果平均io数据尺寸小于32k,可认为磁盘使用模式以随机存取为主,如果平均i/o数据大于32k,则以顺序存取为主4.磁盘活动时间百分比:磁盘利用率,磁盘在数据传输和处理命令处于活动状态。磁盘利用率与资源争用程序成正比,与性能成反比。5.服务时间:指磁盘读取或写操作执行的时间,包括寻道,旋转时延,和数据传输等时间6.i/o等待队列长度:待处理i/o请求的数目,如果i/o请求压力持续超过磁盘处理能力,该值将增加。7.等待时间:指磁盘读或写操作等待执行的时间,即在队列中排队的时间顺序i/o 吞吐量随机i/o IOPS

3

iostat -d 2 3procs:b:等待IO的进程数bi(blocks in):发送到块设备的块数即磁盘块从文件系统或SWAP读取到RAM的大小bo(blocks out):从块设备中接收的块数即磁盘块从RAM写到文件系统或SWAP的大小wa:等待IO所消耗的CPU时间st:从虚拟设备中获得的时间

4

iostat -x -k-x:可获得更多的统计信息-k:默认显示的是读入读出的块的信息Device:merge:当系统调用需要读取数据的时候,VFS(虚拟文件系统)将请求发到各个FS,如果FS发现不同的读取请求,但读取的是相同数据块,FS会将这些请求合并。rrqm/s:每秒进行merge的读操作数目wrqm/s:每秒进行merge的写操作数目r/s:每秒完成的读IO设备的次数w/s:每秒完成的写IO设备的次数rsec/s:每秒读扇区数wsec/s:每秒写扇区数rkB/s:每秒读K字节数。是rsec/s的一半wkB/s:每秒写K字节数。是wsec/s的一半avgrq-sz:平均每次IO设备操作的数据大小avgqu-sz:平均IO队列长度await:平均每次IO设备操作的等待时间svctm:平均每次IO设备操作的服务时间%util:一秒中有百分之多少的时间用I/O操作

5

sar -d 2 3-d:输出每一个块设备的活动信息DEV:dev8-0 dev-11-0 dev252-0 dev252-1rd_sec/s:每秒读取512字节读取数wr_sec/s:每秒写入512字节读取数

6

iostat -d 2 3每两秒检查磁盘三次-d:仅显示存储设备的状态avg-cpu:%iowait(CPU等待IO完成时间百分比)Device:sda scd0 dm-0 dm-1tps:平均每秒钟的传送次数kB_read/s:启动到现在的平均每秒读取的数据块数kB_wrtn/s:启动到现在的平均每秒写入的数据块数kB_read:启动到现在总共读取的数据块数kB_wrtn:启动到现在总共写入的数据块数kB_read/s、kB_wrtn/s这两个值很大表示磁盘的直接读写操作很频繁,可以考虑优化磁盘IO,优化程序。

7

读写IO操作:存数据时是写IO操作,取数据时是读IO操作单个IO操作:就是完成一个写IO或者读IO的操作顺序IO随机IOIO请求分两个阶段:等待资源阶段(阻塞IO,非阻塞IO)使用资源阶段(同步IO,异步IO)IOPS:每秒钟请求处理IO数量(寻址时间、旋转时间、传输时间) TPSIO的响应时间:从OS内核发出一个IO请求到接收IO相应的时间:(包括磁盘获取数据的时间,操作系统以及在存储系统内部IO等待的时间)。10ms以内的响应时间。吞吐量:最大数据传输量(网络带宽、IO传输接口的带宽、硬盘接口带宽)svctm不超过0.5毫秒await不超过5毫秒

8

IO优化的方法:1、磁盘硬件(SSD固态硬盘、硬盘缓存)2、调整raid级别:raid(独立冗余磁盘阵列)3、基于raid卡硬raid(硬盘实现、速度高、适用范围于大型应用),基于系统的软raid(可优化,适合小型应用)raid级别:raid0:无校验,数据分段写入磁盘,吞吐量大,不容错,至少两块,安全性不高raid1:镜像,容错,读性能好,至少两块,一般是2的倍数raid5:分布式奇偶校验,至少三块,支持热备盘,数据经常更新时开销较大raid6:两份校验可以同时坏两个盘,至少是四块盘raid10:先做raid1,再作raid0至少四块3、选择IO调度器:主要的功能将随机IO尽可能合并为顺序IO调度算法:CFQ(完全公平队列算法,比较适合于交互式场景)Deadline(最后期限,比较适合于数据库服务上)Anticipatory(预期的,比较适合于行为预估的场景下)Noop(先到先得)4、根据场景选择合适的文件系统ext3,ext4(最小分配8KB->128KB预读取、延迟分配)5、配置选定调度器的参数6、使用工具分析优化结果:常用的压力测试工具iozonefio aio-stress 磁盘IO活动状态分析工具,磁盘IO瓶颈分析工具磁盘碎片整理

推荐信息