性能调优——IO讲解

上传人:我** 文档编号:116519671 上传时间:2019-11-16 格式:PPTX 页数:46 大小:1.36MB
返回 下载 相关 举报
性能调优——IO讲解_第1页
第1页 / 共46页
性能调优——IO讲解_第2页
第2页 / 共46页
性能调优——IO讲解_第3页
第3页 / 共46页
性能调优——IO讲解_第4页
第4页 / 共46页
性能调优——IO讲解_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《性能调优——IO讲解》由会员分享,可在线阅读,更多相关《性能调优——IO讲解(46页珍藏版)》请在金锄头文库上搜索。

1、性能调优IO Seling Chen 更多性能测试资 料尽在ROAD软件测试论坛 Road 内容介绍 旨在与大家交流性能测试,分享知识。 知识来源于网络,可以相互转载,请不要用于商业用 途。 Road Contents 硬盘知识 1 IO监控 2 IO调整 3 如何减小IO 4 Road Content v.硬盘知识:介绍硬盘组成原理 v.IO监控:Windows,Linux磁盘监控工具 及监控数据讲解 v.IO调整:如何提高IO,条带化原理,条带化 结构 v.如何减少IO,系统如何调整 Road 磁盘原理(HDD) 盘片以每分钟数千转到上万转的速度在高速旋转,15K 10k 7.5k 5.2

2、k RPM 磁头就能对盘片上的指定位置进行数据的读写操作 磁头磁化磁盘记录 数据 Road 磁盘原理 从外到里存储 外快内慢 以扇区为单位存储 破碎文件读取多个扇区,时间长 柱面:所有盘面上的同一磁道构成一个圆柱, 一个磁道写满数据后,就在同一柱面的下一个盘面来写,一个柱面写满 后,才移到下一个扇区开始写数据 Road HDD 示意图 Road 磁盘接口 vATA(IDE 电子集成驱动器 16Bit总线)可达 133M/s vSATA(串行ATA 8位总线)可达300M/s,甚至 600M/s 为什么并行的ATA没串行的SATA快? 时钟频率不一样,一个时钟内ATA比SATA传 输的数据要多.

3、 为什么ATA不反提高时钟频率? 排线多,信息干扰与同步问题 Road 常见硬盘指标 Road 磁盘读写 v随机访问(Random Access) 本次IO所给出的扇区地址和上次IO给出扇区地址相差比较大,这样的 话磁头在两次IO操作之间需要作比较大的移动动作才能重新开始读/写 数据 v连续访问(Sequential Access) 当次IO给出的扇区地址与上次IO结束的扇区地址一致或者是接近的话 ,那磁头就能很快的开始这次IO操作 v顺序IO模式(Queue Mode) 磁盘控制器可能会一次对磁盘组发出一连串的IO命令,如果磁盘组一次 只能执行一个IO命令 v 并发IO模式(Burst Mo

4、de) 当磁盘组能同时执行多个IO命令时,称为并发IO。并发IO只能发生在 由多个磁盘组成的磁盘组上,单块磁盘只能一次处理一个IO命令 Road 磁盘KPI IOPS(IO per Second) IO系统每秒所执行IO操作 的次数 IO Time = Seek Time + 60 sec/Rotational Speed/2 + IO Chunk Size/Transfer Rate IOPS = 1/IO Time = 1/(Seek Time + 60 sec/Rotational Speed/2 + IO Chunk Size/Transfer Rate) Road IOPS计算 RP

5、M(rpm=round per minute转/每分钟) 转速:7.2K RPM Avg寻道时间:5ms 平均旋转延时:(60s/7.2K)*1/2=4.17ms(最坏情况转一 圈才开始读数据,乘1/2是把读写分开取二分之一) 单位IO:比如最大传输速度50M 8K的块,传输时间=8/50=0.156ms IOPS=1/(5ms+4.17ms+0.156ms)=107 次 Road 传输速度/吞吐率 Transfer Rate = IOPS * IO Chunk Size(块大小) IPOS=1000 Chunk Size=8K TR =1000*8K=8M/s Road IO延时 v瓶颈表象

6、IO延时 磁盘IO延时(IO Latency):也称为IO响应时间, 是指内核对磁盘发出一个读或者写的IO命令,到内 核接收到回应的时间,IO响应时间包括IO操作在磁 盘处理的时间和IO操作在IO等待队列中所花费的等 待时间。 单个IO时间:单个IO时间仅仅指的是IO操作在磁盘 内部处理的时间,而IO响应时间还要包括IO操作在 IO等待队列中所花费的等待时间。 Avg Queue Length (就是常说的Q) Road Contents 硬盘 1 IO监控 2 IO调整 3 如何减小IO 4 Road Windows工具(perfmon) Road Windows IO性能 v 单次IO大小

7、 Avg. Disk Bytes/Read Avg. Disk Bytes/Write v IO响应时间 Avg. Disk sec/Read Avg. Disk sec/Write v IOPS Disk Reads/sec ( Avg.Disk Queue Length Page Reads/sec缺页中断(内存中没有,需要从磁盘读取) 名词约定: Q:Physical Disk Avg.Disk Queue Length PR:Memory Page Reads/sec DT:Physical Disk Time L:Low H:High PRQDTResult LHH磁盘瓶颈 HHH内

8、在瓶颈 Road Linux-iostat Iostat 硬盘读写性能,#查看TPS和吞吐量信息 v-d:显示某块具体硬盘,这里没有给出硬盘路径就是默认全部了 v-k:以KB为单位显示 v5:统计间隔为5秒 v2:共统计2次的 vtps:每秒IO次数 vkB_read/s:每秒从设备(drive expressed)读取的数据量 vkB_wrtn/s:每秒向设备(drive expressed)写入的数据量 vkB_read:读取的总数据量 vkB_wrtn:写入的总数据量 Note:读写单位Kilobytes Road Linux-iostat iostat -x 参数,查看设备使用率(%u

9、til)、响应时间(await) rrqm/s:每秒这个设备相关的读取请求有多少被合并(请求相同Block时,请求合并) wrqm/s:每秒这个设备相关的写入请求有多少被合并 r/s:每秒读取请求数(rio) w/s:每秒写入请求数(wio) resc/s:每秒读扇区数(rsect) wsec/s:每秒写扇区数(wsect) rkB/s:每秒读取的数据量,单位K字节 wkB/s:每秒写入的数据量,单位K字节 avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区),(rsect+wsect)*扇区大小/(rio+wio) avgqu-sz: 平均I/O队列长度 await:平均每次设备I

10、/O操作的等待时间 (毫秒) svctm: 平均每次设备I/O操作的服务时间 (毫秒) svctm越接近于await则说明等待时间少 %util:Disk Time/总时间,表示了设备的繁忙程度。80%表示设备已经很忙了(如果多磁盘另算,个体 不能代表全局) Road Linux-iostat iostat -c 参数,查看CPU状态信息 iostat t 参数,磁盘状态统计信息 Blk_read/s:每秒读多少块 Blk_wrtn/s:开机到现在读了多少块 Blk_wrtn/s:每秒写了多少块 Blk_wrtn:开机到现在写了多少块 http:/perumal.org/analyzing-d

11、atabase-server-io-bottlenecks-using-iostat/ Road Linux-vmstat vProcs r:在运行队列中等待的进程数 b:在等待io的进程数 w:被交换出来的进程 Memory swpd: 虚拟内存使用情况KBfree: 空闲的内存buff: 被用来做为缓存的内存数 单位:KB Swap si: 从磁盘交换到内存的交换页数量 so: 从内存交换到磁盘的交换页数量 单位:KB/秒 IO bi: 发送到块设备的块数bo: 从块设备接收到的块数,单位:块/秒 System in: 每秒的中断数cs: 每秒(上下文)切换次数 CPU us: CPU 使

12、用时间sy: CPU 系统使用时间id: 闲置时间 vr、b列一般为0,表示没有等待进程,如果不为0表示系统性能有问题 vsi、so 两 列,表示内存交换的频繁程度,如果数值长期很大,表示内存不够,要和硬盘交换数据 也有可能是每次读写的数据都不一样,这种机率较小 vbi、bo 两列,表示I/O输入输出很频繁 Road 监控工具 vNmon vNagios vCacti vKDE System Guard vGnome System Monitor Road Contents 硬盘 1 IO监控 2 IO调整 3 如何减小IO 4 Road 磁盘速度改进 目前改进磁盘存取速度的的方式主要有两种

13、v 一是磁盘快取控制(disk cache controller),它将从磁盘读取的数 据存在快取内存(cache memory)中以减少磁盘存取的次数,数据 的读写都在快取内存中进行,大幅增加存取的速度,如要读取的数据不 在快取内存中,或要写数据到磁盘时,才做磁盘的存取动作。这种方式 在单工环境(single-tasking envioronment)如DOS之下,对大量 数据的存取有很好的性能(量小且频繁的存取则不然),但在多工( multi-tasking)环境之下(因为要不停的作数据交换(swapping) 的动作)或数据库(database)的存取(因为每一记录都很小)就不 能显示其

14、性能。这种方式没有任何安全保障。 v 其二是使用磁盘阵列的技术。磁盘阵列是把多个磁盘组成一个阵列,当 作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁 盘中,存取数据时,阵列中的相关磁盘一起动作,大幅减低数据的存取 时间,同时有更佳的空间利用率。磁盘阵列所利用的不同的技术,称为 RAID level,不同的level针对不同的系统及应用,以解决数据安全的 问题。 Road RAID0 vRAID0 RAID0将数据条带化(striping)将连续的数据分 散在多个磁盘上进行存取,系统发出的IO命令( 不管读IO和写IO都一样)就可以在磁盘上被并行 的执行,每个磁盘单独执行

15、自己的那一部分请求 ,这样的并行的IO操作能大大的增强整个存储系 统的性能。假设一个RAID0阵列有 n(n=2)个 磁盘组成,每个磁盘的随机读写的IO能力都达到 120的话,那么整个磁盘阵列的IO能力将是 120*n。同时如果在阵列总线的传输能力允许的 情况下,RAID0的吞吐率也将是单个磁盘的n 倍。 Road RAID0 优: 快速 大容量 缺: 无备份安全性差 Road RAID1 vRAID1 RAID1在容量上相当于是将两个磁盘合并成一个 磁盘来使用了,互为镜像的两个磁盘里面保存的 数据是完全一样的,因此在并行读取的时候速度 将是n个磁盘速度的总和,但是写入就不一样了 ,每次写入都

16、必须同时写入到两个磁盘中,因此 写入速度只有n/2 Road RAID1 优: 备份安全性高(一个坏从另一个上恢复) 缺: 慢(写了两次) Road RAID3 优: 快、安全,奇偶校验,一盘故障数据可重建 视频网站适用(文件读写多) 缺: 同时二盘故障,数据全丢失 小数据读写不适用,随机读慢 奇偶校验盘 Road RAID3+Spare Space=(磁盘数-2)单盘容量 热备盘 备份故障盘上内容 热备盘 Road RAID5 vRAID5 RAID5是支持并行IO的,而磁盘上的数据呈条带状的分布在所有的 磁盘上,因此读IO的速度相当于所有磁盘速度的总和。不过这是在没 有磁盘损坏的情况下,当有一个磁盘故障的时候读取速度也是会下降 的,因为中间需要花时间来计算丢失磁盘上面的数据。 写入速度只有所有磁盘速度总和的1/4。从这点可以看出RAID5是非 常不适合用在要大批量写入数据的系统上的 要求较高的空间利用率,对安全性要求不是特别高、大文件存储的系 统采用RAID5比较好 Road RAID5 RAID3 加强版,数所相互备份 Spa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号