AIX系统磁盘IO性能评估.doc_第1页
AIX系统磁盘IO性能评估.doc_第2页
AIX系统磁盘IO性能评估.doc_第3页
AIX系统磁盘IO性能评估.doc_第4页
AIX系统磁盘IO性能评估.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AIX系统磁盘I/O性能评估2008/05/21 14:53 未分类 本文对AIX系统磁盘I/O性能评估做了详细介绍。 第1页:对磁盘IO的性能考虑,裸设备优缺点分析对磁盘IO的性能考虑: 1) 将频繁访问的文件系统和裸设备应尽可能放置在不同的磁盘上。 2) 在建立逻辑卷时尽可能使用mklv的命令开关给不同的文件系统和裸设备赋予不同的内策略。 3) 使用磁盘设备驱动适配器的功能属性构建合适的RAID方式,以获得更高的数据安全性和存取性能。一般考虑采用RAID5或者RAID10方式,对于写要求比较高的系统,一般建议采用RAID10方式;关于RAID10 与RAID 5的比较,可以见piner的文章,作为补充我会在后面贴出。 4) 尽可能利用内存读写带宽远比直接磁盘I/O操作性能优越的特点,使频繁访问的文件或数据置于内存中进行操作处理; 在这里,顺带提一下裸设备以及文件系统的对比。 裸设备的优点: 1) 由于旁路了文件系统缓冲器而进行直接读写,从而具有更好的性能。对硬盘的直接读写就意味着取消了硬盘与文件系统的同步需求。这一点对于纯OLTP系统非常有用,因为在这种系统中,读写的随机性非常大以至于一旦数据被读写之后,它们在今后较长的一段时间内不会得到再次使用。除了OLTP,raw设备还能够从以下几个方面改善DSS应用程序的性能: 排序:对于DSS环境中大量存在的排序需求,raw设备所提供的直接写功能也非常有用,因为对临时表空间的写动作速度更快。 序列化访问:raw设备非常适合于序列化I/O动作。同样地,DSS中常见的序列化I/O(表/索引的完全扫描)使得raw设备更加适用于这种应用程序。 2) 直接读写,不需要经过OS级的缓存。节约了内存资源,在一定程度上避免了内存的争用。 3) 避免了操作系统的cache预读功能,减少了I/O。 4) 采用裸设备避免了文件系统的开销。比如维护I-node,空闲块等。 裸设备的缺点: 1、裸设备的空间大小管理不灵活。在放置裸设备的时候,需要预先规划好裸设备上的空间使用。还应当保留一部分裸设备以应付突发情况。这也是对空间的浪费。 2、很多备份工具软件对裸设备的支持不足,导致备份等的操作和方法比较原始、麻烦。 接下来,对于磁盘I/O的性能性能评估的方法。 第2页:sar -d查看1、iostat查看 #iostat 1 3 System configuration: lcpu=16 drives=11 paths=4 vdisks=0 tty: tin tout avg-cpu: % user % sys % idle % iowait 0.0 59.7 30.4 17.0 25.6 27.1 Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk1 1.0 4.0 1.0 0 4hdisk0 0.0 4.0 1.0 0 4hdisk2 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0dac0 0.0 14477.7 1513.4 3072 11469dac0-utm 0.0 0.0 0.0 0 0dac1 0.0 0.0 0.0 0 0dac1-utm 0.0 0.0 0.0 0 0hdisk4 74.7 4968.3 440.1 1728 3262hdisk5 99.6 9508.4 1073.3 1344 8206cd0 0.0 0.0 0.0 0 0 tty: tin tout avg-cpu: % user % sys % idle % iowait 0.0 904.0 29.3 10.6 28.9 31.1 Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk1 0.0 0.0 0.0 0 0hdisk0 0.0 0.0 0.0 0 0hdisk2 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0dac0 0.0 5956.0 492.0 1832 4124dac0-utm 0.0 0.0 0.0 0 0dac1 0.0 0.0 0.0 0 0dac1-utm 0.0 0.0 0.0 0 0hdisk4 49.0 2840.0 221.0 512 2328hdisk5 100.0 3116.0 271.0 1320 1796cd0 0.0 0.0 0.0 0 0 tty: tin tout avg-cpu: % user % sys % idle % iowait 0.0 898.2 41.6 8.9 21.2 28.3 Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk1 0.0 0.0 0.0 0 0hdisk0 0.0 0.0 0.0 0 0hdisk2 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0dac0 0.0 25695.7 2306.8 2344 23432dac0-utm 0.0 0.0 0.0 0 0dac1 0.0 0.0 0.0 0 0dac1-utm 0.0 0.0 0.0 0 0hdisk4 67.8 7908.3 542.3 712 7221hdisk5 99.7 17787.4 1764.5 1632 16211cd0 0.0 0.0 0.0 0 0 注意:第一个报告代表自系统启动以来所有的活动。 下面对输出的结果说明如下: tty TTY 的两列信息(tin 和 tou)显示了由所有 TTY 设备读写的字符数。 avg-cpu CPU 统计信息列(% user、% sys、% idle 和 % iowait)提供了 CPU 的使用故障。如果 iostat 命令表明 CPU 受限的情况不存在,并且 % iowait 时间大于 20%,则可能出现 I/O 或磁盘受限情况。这一情况可能在缺少实内存的情况下由过多调页产生。也有可能是由于不平衡的磁盘负载、碎片数据或应用模式而产生。 % tm_act 指示物理磁盘活动所占总时间的百分比(磁盘的带宽利用率),或者换句话说,磁盘请求的总时间未达到。驱动器在数据传送和处理命令时是活动的,例如寻道至新的位置。磁盘活动时间百分比正比于资源争用,反比于性能。当磁盘使用率增加时,性能就下降并且响应时间就增加。一般来说,当利用率超过 70% 时,进程将等待的时间会比完成 I/O 所必需的时间更长,因为大多数 UNIX 进程在等待它们的 I/O 请求完成时会阻塞(或休眠)。查找相对空闲驱动器来说繁忙的驱动器。把数据从繁忙的驱动器中移到空闲驱动器里可以帮助减轻磁盘的瓶颈。在磁盘中调入调出页面会使 I/O 负载增加。 Kbps指示了每秒钟多少 KB 的数据被传送(读或写)。这是在系统报告时间间隔内 Kb_read 加上 Kb_wrtn 的总和并除以的这段时间间隔的总数的结果。 tps 指示了每秒钟物理磁盘传送的次数。一次传送是设备驱动程序级别到物理磁盘的一次 I/O 处理请求。多重逻辑请求可以组合成单一的磁盘 I/O 请求。传送的大小是不确定的。 Kb_read报告了在测量间隔中总的从物理卷中读取的数据量(以 KB 为单位)。 Kb_wrtn显示了在测量间隔中总的写入物理卷中的数据量(以 KB 为单位)。 我们也可以针对适配器作性能评估。想知道某个适配器是否饱和,使用 iostat 命令并且把所有连接到这个适配器上的磁盘的 Kbps 数量加起来。为了获得最大的聚集性能,总的传送率(Kbps)必须在磁盘适配器的吞吐量之下。在大多数情况下,使用 70% 的吞吐量,-a 或 -A 选项会显示这些信息。 #iostat -a 1 1 System configuration: lcpu=16 drives=11 paths=4 vdisks=0 tty: tin tout avg-cpu: % user % sys % idle % iowait 0.0 59.8 20.8 7.8 34.9 36.5 Adapter: Kbps tps Kb_read Kb_wrtnsisscsia2 0.0 0.0 0 0 Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk1 0.0 0.0 0.0 0 0hdisk0 0.0 0.0 0.0 0 0 Adapter: Kbps tps Kb_read Kb_wrtnsisscsia4 0.0 0.0 0 0 Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk2 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0 Adapter: Kbps tps Kb_read Kb_wrtnfcs0 12614.7 1338.0 2160 10502 Disks: % tm_act Kbps tps Kb_read Kb_wrtndac0 0.0 12615.7 1338.0 2160 10503hdisk4 59.8 4255.0 405.5 752 3519hdisk5 99.6 8359.7 932.5 1408 6983 Adapter: Kbps tps Kb_read Kb_wrtnvsa0 0.0 0.0 0 0 Disks: % tm_act Kbps tps Kb_read Kb_wrtndac0-utm 0.0 0.0 0.0 0 0dac1-utm 0.0 0.0 0.0 0 0 Adapter: Kbps tps Kb_read Kb_wrtnfcs2 0.0 0.0 0 0 Disks: % tm_act Kbps tps Kb_read Kb_wrtndac1 0.0 0.0 0.0 0 0 Adapter: Kbps tps Kb_read Kb_wrtnide0 0.0 0.0 0 0 Disks: % tm_act Kbps tps Kb_read Kb_wrtncd0 0.0 0.0 0.0 0 0 第3页:使用lslv -l lvname来评估逻辑卷的碎片情况2、sar -d查看 #sar -d 1 2 AIX jsdxh_db01 3 5 00C2C1BB4C00 10/24/07 System configuration: lcpu=16 drives=11 21:05:38 device %busy avque r+w/s Kbs/s avwait avserv 21:05:39 hdisk1 0 0.0 0 0 0.0 0.0 hdisk0 0 0.0 0 0 0.0 0.0 hdisk2 0 0.0 0 0 0.0 0.0 hdisk3 0 0.0 0 0 0.0 0.0 dac0 0 0.0 2051 20360 20.1 5.7 dac0-utm 0 0.0 0 0 0.0 0.0 dac1 0 0.0 0 0 0.0 0.0 dac1-utm 0 0.0 0 0 0.0 0.0 hdisk4 80 0.0 514 6137 1.2 5.3 hdisk5 100 2.6 1536 14223 26.4 5.9 cd0 0 0.0 0 0 0.0 0.0 21:05:40 hdisk1 0 0.0 0 0 0.0 0.0 hdisk0 0 0.0 0 0 0.0 0.0 hdisk2 0 0.0 0 0 0.0 0.0 hdisk3 0 0.0 0 0 0.0 0.0 dac0 0 0.0 1100 9835 34.0 11.8 dac0-utm 0 0.0 0 0 0.0 0.0 dac1 0 0.0 0 0 0.0 0.0 dac1-utm 0 0.0 0 0 0.0 0.0 hdisk4 84 0.1 270 2763 7.7 14.2 hdisk5 100 3.2 830 7072 42.6 11.0 cd0 0 0.0 0 0 0.0 0.0 Average hdisk1 0 0.0 0 0 0.0 0.0 hdisk0 0 0.0 0 0 0.0 0.0 hdisk2 0 0.0 0 0 0.0 0.0 hdisk3 0 0.0 0 0 0.0 0.0 dac0 0 0.0 1575 15097 27.1 8.7 dac0-utm 0 0.0 0 0 0.0 0.0 dac1 0 0.0 0 0 0.0 0.0 dac1-utm 0 0.0 0 0 0.0 0.0 hdisk4 82 0.1 392 4450 4.5 9.7 hdisk5 100 2.9 1183 10647 34.5 8.4 cd0 0 0.0 0 0 0.0 0.0 输出结果说明: device 设备的类型 %busy 报告设备忙于执行传输请求所用的时间 avque 该段时间内未完成的请求的平均值。 r+w/s 进车设备的读/写传送次数。 blks/s 以512字节为单元的传送数 avwait 不执行,总是设置为 0.0 avserv 不执行,总是设置为 0.0 第4页:lslv -p 评估物理布局3、使用lslv -l lvname来评估逻辑卷的碎片情况 # lslv -l hd2hd2:/usrPV COPIES IN BAND DISTRIBUTIONhdisk0 114:000:000 22% 000:042:026:000:046 输出字段说明: PV 物理卷名称 Copies三个字段分别代表 在物理卷上至少包含一个物理分区(没有副本)的逻辑分区的数量 在物理卷上至少包含两个物理分区(一个副本)的逻辑分区的数量 在物理卷上至少包含三个物理分区(两个副本)的逻辑分区的数量 In band center分配策略占用的百分比。 Distribution 分配在物理卷每个区域内:物理卷的外部边缘、外部中间、中间、中心和内部边缘的物理分区的数目 对于该例中的结果说明如下: copies显示逻辑卷hd2只复制了一份。IN BAND显示了内策略是如何遵循的。这个百分比越高,分配效率就越好。在这个示例中,有总共114个逻辑分区(LP),42个位于中部,26个位于中心,还有46个位于内边缘。in band占用22%(26/(42+26+46)。DISTRIBUTION显示物理分区的具体的内策略部署,格式如下: outer-edge : outer-middle : center : inner-middle : inner-edge 关于物理卷内分配策略说明: 指定物理卷上选择物理分区时使用何种策略。五种常用的策略时边缘、内层边缘、中部、内层中部和中心。鉴于磁盘的读取方式,数据写入磁盘中心部分的寻道时间比写入外部边缘的寻道时间短。 第5页:使用 vmstat 命令评估调页空间的 I/O4、lslv -p 评估物理布局 可以使用lslv -p hdiskN来查看在物理磁盘上的数据存储分布情况,同时也可以看到使用该内策略的逻辑卷以及挂载的文件系统。 #lspv -p hdisk3hdisk3:PP RANGE STATE REGION LV NAME TYPE MOUNT POINT 1-30 free outer edge31-110 used outer edge ocsapplv jfs /ocsapp111-206 used outer middle paging00 paging N/A207-219 free outer middle220-328 free center329-437 free inner middle438-546 free inner edge 第6页:使用filemon命令监控系统I/O5、使用 vmstat 命令评估调页空间的 I/O # vmstat -s 43665986 total address trans. faults 30613 page ins 2956863 page outs 0 paging space page ins 0 paging space page outs 0 total reclaims 26027126 zero filled pages faults 16710 executable filled pages faults 0 pages examined by clock 0 revolutions of the clock hand 0 pages freed by the clock 5333765 backtracks 0 lock misses 0 free frame waits 0 extend XPT waits 21434 pending I/O waits 2937501 start I/Os 2937501 iodones 2723836378 cpu context switches 2176961335 device interrupts 0 software interrupts 0 traps 25243857756 syscalls 以下的前和后vmstat -s 的报告显示了调页活动的累计情况。请记住是 paging space page ins 和 paging space page outs 代表了真实的调页空间 I/O。这个(未限定)的 page ins 和 page outs 报告了总的由调页机制执行的 I/O,即调页空间 I/O 和普通文件 I/O。该报告已经经过编辑并且删除了和本讨论无关的信息。 # vmstat -s # before # vmstat -s # after6602 page ins 7022 page ins3948 page outs 4146 page outs544 paging space page ins 689 paging space page ins1923 paging space page outs 2032 paging space page outs0 total reclaims 0 total reclaims 事实上在编译时产生比调页空间 page-outs 更多的 page-ins 意味着系统性能已被降至颠簸的边缘。有些页面正在重新分配空间,因为在它们完成调度前其帧已被其他所用。 6、使用filemon命令监控系统I/O filemon 命令监控文件系统和 I/O系统事件的跟踪,并且报告一个周期内的文件和 I/O 的访问性能。监视文件系统的性能,并且报告代表逻辑文件、虚拟内存段、逻辑卷和物理卷的 I/O 活动。 语法: filemon -d -i Trace_File -n Gennames_File -o File -O Levels -P -T n -u -v 例如: # filemon -o fm.out -O all ; sleep 30 ; trcstop Enter the trcstop command to complete filemon processing filemon: Reporting startednlist failed.# more fm.outWed Oct 24 21:23:56 2007System: AIX oracle1 Node: 5 Machine: 0058D25D4C00 Cpu utilization: 4.7% Most Active Files- #MBs #opns #rds #wrs file volume:inode- 0.2 1 51 0 unix /dev/hd2:30816 0.0 5 10 0 ksh.cat /dev/hd2:109023 0.0 1 2 0 cmdtrace.cat /dev/hd2:108887 0.0 1 2 0 hosts /dev/hd4:24621 0.0 1 1 0 vmstat.cat /dev/hd2:109265 输出结果保存在fm.out 中。输出字段说明如下: 最活跃的文件 #MBs 此文件在测量间隔时间内的传送量(以 MBs 为单位)。各行按照此字段降序排列。 #opns 在测量周期内的文件的打开次数。 #rds 文件读取调用的次数 #wrs 文件写入调用的次数 file 文件名称(文件路径全称在详细报告中)。 volume:inode 文件驻留的逻辑卷和在相连文件系统总的 i-node 数目。此字段可以被用来把文件和在详细的 VM 段报告中显示的其相应的永久段关联起来。此字段对在执行过程中创建和删除的临时文件可以为空。 最活跃的段 #MBs 此段在测量间隔时间内的传送量(以 MBs 为单位)。各行按照此字段降序排列。 #rpgs 从磁盘读入段中大小为 4-KB 的页面数 #wpgs 从段中写入磁盘大小为 4-KB 的页面数(page out) #segid 内存段的 VMM 标识 segtype段的类型:工作段、永久段(本地文件)、客户机段(远程文件)、页表段、系统段或者包含文件系统数据的指定永久段。 volume:inode 对永久段来说,包含相关文件的逻辑卷名称和文件的 i-node 数目。此字段可以被用来把段和在详细的文件状态报告中显示的其相应的文件关联起来。对非永久段来说,此字段为空。 最活跃的逻辑卷 util 逻辑卷使用率。 #rblk 从逻辑卷读取的大小为 512 字节的块数。 #wblk 写入逻辑卷大小为 512 字节的块数。 KB/s 每秒钟平均传送速率,单位 KB。 volume 逻辑卷名称。 description 文件系统安装点或是逻辑卷类型(paging, jfslog, boot, or sysdump)。例如,逻辑卷 /dev/hd2 是 /usr类型;/dev/hd6 是 paging 类型以及 /dev/hd8 是 jfslog 类型。有时也可能出现被压缩的这个字眼。这意味着所有的数据在被写入磁盘前都会以 Lempel-Zev(LZ)压缩技术自动压缩,在从磁盘读取时则自动解压缩。 最活跃的物理卷 util 物理卷使用率。 注:逻辑卷 I/O 请求在物理卷 I/O 请求前后启动。总的逻辑卷使用率将会看起来比总的物理卷使用率高。使用率用百分比表示,0.10 是指 10% 的物理卷在测量时间间隔内繁忙。 #rblk 从物理卷读取的大小为 512 字节的块数。 #wblk 写入物理卷大小为 512 字节的块数。 KB/s 每秒钟平均传送速率,单位 KB。 volume 物理卷名称。 description 有关物理卷类型的简单描述,例如, SCSI 多媒体 CD-ROM 驱动器或 16位 SCSI 磁盘驱动器。 文件系统的安装点(mount point)及文件的i节点(inode)可与命令ncheck一起使用,来找出相对应的文件。 第7页:监视磁盘 I/O 的小结7、监视磁盘 I/O 的小结 一般来说,高的 % iowait 表明系统存在一个应用程序问题、缺少内存问题或低效的 I/O 子系统配置。例如,应用程序的问题可能是由于许多 I/O 请求,而不是处理许多数据。理解 I/O 瓶颈并且要清楚解决瓶颈问题的关键在于提高 I/O 子系统的效率。磁盘的灵敏度可以以几种方式出现,并具有不同的解决方法。一些典型的解决方案可能包括: 限制在特定的物理磁盘上活动逻辑卷和文件系统的数目。该方法是为了在所有的物理磁盘驱动器中平衡文件 I/O。 在多个物理磁盘间展开逻辑卷。该方法在当有一些不同的文件被存取时特别有用。 为一个卷组创建多个 Journaled 文件系统(JFS)日志并且把它们分配到特定的文件系统中(最好在快速写高速缓存驱动器中)。这对应用程序创建、删除或者修改大量文件特别是临时文件来说十分有益。 如果 iostat 命令的输出结果表明您的负载的 I/O 活动没有被均衡地分配到系统磁盘驱动器中,并且一个或多个磁盘驱动器的使用率经常在 70-80 之间或更高,您就得考虑重组文件系统,例如备份和恢复文件系统以便减少碎片。碎片将引起驱动器过多地搜索并且可能产生大部分响应时间过长。 如果很大,I/O 增强的后台作业将涉及和相应时间交互,您可能希望激活I/O 调步。 如果有迹象表明一小部分文件被一次又一次地读取,您可以考虑附加的实存是否允许那些文件更加有效地缓存。 如果负载的存取模式是随机占主导地位,您可能要考虑增加磁盘并把按那些随机存取的文件分布到更多的磁盘中。 如果负载的存取模式是顺序占主导地位并且涉及多个磁盘驱动器,您可能要考虑增加一个或多个磁盘适配器。您也可以适当地考虑构建一个条带状逻辑卷来适应大型并且性能关键的顺序文件。 使用快速写高速缓存设备。 使用异步 I/O。 第8页:案例8、案例 说明:这个案例不是我的,不记得在哪里找的: # sar 1 501:24:21 %usr %sys %wio %idle01:24:51 46 5 28 2101:25:21 46 5 29 2001:25:51 47 5 30 2001:26:21 44 5 29 2201:26:51 45 5 28 22 Average 46 5 29 21 在CPU资源尚未耗尽的情况下,有近1/3的CPU时间在等待磁盘I/O,可以肯定系统资源调度中I/O存在瓶颈;进而监控I/O使用情况: # iostat -d hdisk3 1 10Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk3 52.1 1086.9 262.6 1025224 1967060hdisk3 93.0 4704.0 1121.0 636 4068hdisk3 98.0 1236.0 294.0 400 836hdisk3 92.0 1556.0 386.0 780 776hdisk3 81.0 760.0 178.0 696 64hdisk3 89.0 1032.0 252.0 824 208hdisk3 92.0 1376.0 329.0 708 668hdisk3 99.0 1888.0 457.0 292 1596hdisk3 98.0 1436.0 356.0 660 776hdisk3 94.0 1624.0 403.0 852 772hdisk3 99.0 2412.0 589.0 724 1688 可以发现hdisk3平均访问率非常高,几乎在90%以上,但从数据传输量来看其真正的数据量并不大,约为1500Kbps,而且读写均衡,说明运行的应用程序的对磁盘访问有小数据量频繁存取的特点(其实即为电信应用中话务呼叫的应用特点);这里可以肯定的是系统整体性能的瓶颈在于hdisk3的过度访问. 更进一步分析,使用系统监控命令filemon 或 lvmstat可以获得以下信息: #filemon -o filemon.out; sleep 30; trcstop#vi filemon.out(部分截取) util #rblk #wblk KB/s volume description- 1.00 91080 108112 1561.1 /dev/workdbslv1 raw 0.00 0 4072 31.9 /dev/logiclogdbslv raw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论