已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
性能调优 IO SelingChen 更多性能测试资料尽在ROAD软件测试论坛 内容介绍 旨在与大家交流性能测试 分享知识 知识来源于网络 可以相互转载 请不要用于商业用途 Contents Content 硬盘知识 介绍硬盘组成原理 IO监控 Windows Linux磁盘监控工具及监控数据讲解 IO调整 如何提高IO 条带化原理 条带化结构 如何减少IO 系统如何调整 磁盘原理 HDD 盘片以每分钟数千转到上万转的速度在高速旋转 15K10k7 5k5 2kRPM磁头就能对盘片上的指定位置进行数据的读写操作磁头磁化磁盘记录数据 磁盘原理 从外到里存储外快内慢以扇区为单位存储破碎文件读取多个扇区 时间长柱面 所有盘面上的同一磁道构成一个圆柱 一个磁道写满数据后 就在同一柱面的下一个盘面来写 一个柱面写满后 才移到下一个扇区开始写数据 HDD示意图 磁盘接口 ATA IDE电子集成驱动器16Bit总线 可达133M sSATA 串行ATA8位总线 可达300M s 甚至600M s为什么并行的ATA没串行的SATA快 时钟频率不一样 一个时钟内ATA比SATA传输的数据要多 为什么ATA不反提高时钟频率 排线多 信息干扰与同步问题 常见硬盘指标 磁盘读写 随机访问 RandomAccess 本次IO所给出的扇区地址和上次IO给出扇区地址相差比较大 这样的话磁头在两次IO操作之间需要作比较大的移动动作才能重新开始读 写数据连续访问 SequentialAccess 当次IO给出的扇区地址与上次IO结束的扇区地址一致或者是接近的话 那磁头就能很快的开始这次IO操作顺序IO模式 QueueMode 磁盘控制器可能会一次对磁盘组发出一连串的IO命令 如果磁盘组一次只能执行一个IO命令并发IO模式 BurstMode 当磁盘组能同时执行多个IO命令时 称为并发IO 并发IO只能发生在由多个磁盘组成的磁盘组上 单块磁盘只能一次处理一个IO命令 磁盘KPI IOPS IOperSecond IO系统每秒所执行IO操作的次数 IOTime SeekTime 60sec RotationalSpeed 2 IOChunkSize TransferRateIOPS 1 IOTime 1 SeekTime 60sec RotationalSpeed 2 IOChunkSize TransferRate IOPS计算 RPM rpm roundperminute转 每分钟 转速 7 2KRPMAvg寻道时间 5ms平均旋转延时 60s 7 2K 1 2 4 17ms 最坏情况转一圈才开始读数据 乘1 2是把读写分开取二分之一 单位IO 比如最大传输速度50M8K的块 传输时间 8 50 0 156msIOPS 1 5ms 4 17ms 0 156ms 107次 传输速度 吞吐率 TransferRate IOPS IOChunkSize 块大小 IPOS 1000ChunkSize 8KTR 1000 8K 8M s IO延时 瓶颈表象 IO延时磁盘IO延时 IOLatency 也称为IO响应时间 是指内核对磁盘发出一个读或者写的IO命令 到内核接收到回应的时间 IO响应时间包括IO操作在磁盘处理的时间和IO操作在IO等待队列中所花费的等待时间 单个IO时间 单个IO时间仅仅指的是IO操作在磁盘内部处理的时间 而IO响应时间还要包括IO操作在IO等待队列中所花费的等待时间 AvgQueueLength 就是常说的Q Contents Windows工具 perfmon WindowsIO性能 单次IO大小Avg DiskBytes ReadAvg DiskBytes WriteIO响应时间Avg Disksec ReadAvg Disksec WriteIOPSDiskReads sec Avg DiskQueueLength QPagesInput sec ReadfromdiskPages PageReads Sec Readfromdisktimes 5 前一个是页数 后一个是次数PagesOutput sec Writetodisk BIBO 磁盘 Bi read Bo write 虚拟内存Swap 内存 FreeCache Si 0正常 SO 0正常 Bi 接近于0性能良好 Bo 接近于0性能良好 Bi Bo 磁盘性能分析 PhysicalDisk DiskTimePhysicalDisk Avg DiskQueueLengthPageReads sec缺页中断 内存中没有 需要从磁盘读取 名词约定 Q PhysicalDiskAvg DiskQueueLengthPR MemoryPageReads secDT PhysicalDiskTimeL LowH High Linux iostat Iostat硬盘读写性能 查看TPS和吞吐量信息 d 显示某块具体硬盘 这里没有给出硬盘路径就是默认全部了 k 以KB为单位显示5 统计间隔为5秒2 共统计2次的tps 每秒IO次数kB read s 每秒从设备 driveexpressed 读取的数据量kB wrtn s 每秒向设备 driveexpressed 写入的数据量kB read 读取的总数据量kB wrtn 写入的总数据量Note 读写单位Kilobytes Linux iostat iostat x参数 查看设备使用率 util 响应时间 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 O操作的等待时间 毫秒 svctm 平均每次设备I O操作的服务时间 毫秒 svctm越接近于await则说明等待时间少 util DiskTime 总时间 表示了设备的繁忙程度 80 表示设备已经很忙了 如果多磁盘另算 个体不能代表全局 Linux iostat iostat c参数 查看CPU状态信息iostat t参数 磁盘状态统计信息Blk read s 每秒读多少块Blk wrtn s 开机到现在读了多少块Blk wrtn s 每秒写了多少块Blk wrtn 开机到现在写了多少块http perumal org analyzing database server io bottlenecks using iostat Linux vmstat Procsr 在运行队列中等待的进程数b 在等待io的进程数w 被交换出来的进程Memoryswpd 虚拟内存使用情况KBfree 空闲的内存buff 被用来做为缓存的内存数单位 KBSwapsi 从磁盘交换到内存的交换页数量so 从内存交换到磁盘的交换页数量单位 KB 秒IObi 发送到块设备的块数bo 从块设备接收到的块数 单位 块 秒Systemin 每秒的中断数cs 每秒 上下文 切换次数CPUus CPU使用时间sy CPU系统使用时间id 闲置时间r b列一般为0 表示没有等待进程 如果不为0表示系统性能有问题si so两列 表示内存交换的频繁程度 如果数值长期很大 表示内存不够 要和硬盘交换数据也有可能是每次读写的数据都不一样 这种机率较小bi bo两列 表示I O输入输出很频繁 监控工具 NmonNagiosCactiKDESystemGuardGnomeSystemMonitor Contents 磁盘速度改进 目前改进磁盘存取速度的的方式主要有两种一是磁盘快取控制 diskcachecontroller 它将从磁盘读取的数据存在快取内存 cachememory 中以减少磁盘存取的次数 数据的读写都在快取内存中进行 大幅增加存取的速度 如要读取的数据不在快取内存中 或要写数据到磁盘时 才做磁盘的存取动作 这种方式在单工环境 single taskingenvioronment 如DOS之下 对大量数据的存取有很好的性能 量小且频繁的存取则不然 但在多工 multi tasking 环境之下 因为要不停的作数据交换 swapping 的动作 或数据库 database 的存取 因为每一记录都很小 就不能显示其性能 这种方式没有任何安全保障 其二是使用磁盘阵列的技术 磁盘阵列是把多个磁盘组成一个阵列 当作单一磁盘使用 它将数据以分段 striping 的方式储存在不同的磁盘中 存取数据时 阵列中的相关磁盘一起动作 大幅减低数据的存取时间 同时有更佳的空间利用率 磁盘阵列所利用的不同的技术 称为RAIDlevel 不同的level针对不同的系统及应用 以解决数据安全的问题 RAID0 RAID0RAID0将数据条带化 striping 将连续的数据分散在多个磁盘上进行存取 系统发出的IO命令 不管读IO和写IO都一样 就可以在磁盘上被并行的执行 每个磁盘单独执行自己的那一部分请求 这样的并行的IO操作能大大的增强整个存储系统的性能 假设一个RAID0阵列有n n 2 个磁盘组成 每个磁盘的随机读写的IO能力都达到120的话 那么整个磁盘阵列的IO能力将是120 n 同时如果在阵列总线的传输能力允许的情况下 RAID0的吞吐率也将是单个磁盘的n倍 RAID0 优 快速大容量缺 无备份安全性差 RAID1 RAID1RAID1在容量上相当于是将两个磁盘合并成一个磁盘来使用了 互为镜像的两个磁盘里面保存的数据是完全一样的 因此在并行读取的时候速度将是n个磁盘速度的总和 但是写入就不一样了 每次写入都必须同时写入到两个磁盘中 因此写入速度只有n 2 RAID1 优 备份安全性高 一个坏从另一个上恢复 缺 慢 写了两次 RAID3 优 快 安全 奇偶校验 一盘故障数据可重建视频网站适用 文件读写多 缺 同时二盘故障 数据全丢失小数据读写不适用 随机读慢 奇偶校验盘 RAID3 Spare Space 磁盘数 2 单盘容量热备盘备份故障盘上内容 热备盘 RAID5 RAID5RAID5是支持并行IO的 而磁盘上的数据呈条带状的分布在所有的磁盘上 因此读IO的速度相当于所有磁盘速度的总和 不过这是在没有磁盘损坏的情况下 当有一个磁盘故障的时候读取速度也是会下降的 因为中间需要花时间来计算丢失磁盘上面的数据 写入速度只有所有磁盘速度总和的1 4 从这点可以看出RAID5是非常不适合用在要大批量写入数据的系统上的要求较高的空间利用率 对安全性要求不是特别高 大文件存储的系统采用RAID5比较好 RAID5 RAID3加强版 数所相互备份Space 磁盘数 1 单盘容量双磁盘同时故障数据全丢失 RAID6 RAID6RAID6和RAID5很类似 差别就在于RAID6多了一个用于校验的磁盘 就写IO速度上来说这两个是完全一样的 都是所有磁盘IO速度的总和 在写IO上也很是类似 不同的是RAID将一个命令分成了三次读 三次写一共6次IO命令才能完成 也就是RAID6实际写入磁盘的速度是全部磁盘速度之和的1 6 可以看出从写IO看RAID6比RAID5差别是很大的 RAID6 二个磁盘故障仍可以保证安全适合安全性较高应用Space 磁盘数 2 单盘容量 RAID10 RAID10RAID0读写速度都很好 却没有冗余保护 RAID5和RAID6都有同样的毛病就是写入的时候慢 读取的时候快 那么RAID1呢 嗯 这里要说的就是RAID1 其实不管是RAID10还是RAID01 其实都是组合大于2块磁盘时候的RAID1 当先镜像后条带时候就称为RAID10 先条带后镜像的时候称为RAID01 从性能上看RAID01和RAID10都是一样的 都是RAID1嘛 但是RAID10在重建故障磁盘的时候性能比RAID01要快安全性要求很高 不计成本 小数据量频繁写入的系统采用RAID10的方式比较好 RAID10 RAID0与RAID1综合 安全性高Space 磁盘数 单盘容量 2From Contents 系统特征 门户网站 企业生产应用 科学计算 流媒体应用 文件服务 政企办公 静 动 动 静 1 进程多2 消耗内存多3 磁盘IO频繁 1 网络带宽瓶颈2 缓存多 1 DB压力大2 存储压力大3 内存压力大4 CPU压力大 B S 存储体系 硬盘Bi read Bo write 虚拟内存Swap 内存FreeCache Si 0正常 SO 0正常 Bi 接近于0性能良好 Bo 接近于0性能良好 Bi Bo 存储结构的演化 硬盘 FS DBMS DBMS cache FS 硬件的升级成本高 随着业务量 请求数的增加 终究还会产生瓶颈治标不治本 DB优化思
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- LBS系统优化策略课程设计
- 基于Multisim的FM收音机电路课程设计
- 电商用户行为分析与实战指南课程设计
- iptables入门实践课程设计
- LBS系统开发案例课程设计
- FM收音机信噪比设计课程设计
- 燃料值班员安全技能竞赛考核试卷含答案
- 云端办公数据安全与管理操作手册
- 动态检车员班组管理水平考核试卷含答案
- 合成油脂装置操作工班组建设竞赛考核试卷含答案
- 2025年苏州市社区工作者招聘考试笔试试题及答案解析
- 2026年嘉兴市卫生行政系统事业单位人员招聘考试备考试题及答案详解
- 海姆立克急救技术操作流程及评分标准(2026版)
- 2026年安徽省淮南市重点学校小升初数学考试题库及答案
- 2026年中考生物常考知识点精简版
- 设备润滑管理规定培训
- 单轨吊使用安全管理制度
- 2026商业航天卫星制造产业链整合与投资风险评估研究报告
- 船岸交接制度规范
- 测绘成果安全保密培训
- 2026年移动源污染治理项目可行性研究报告
评论
0/150
提交评论