免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3358 | 回复: 0
打印 上一主题 下一主题

(转贴)AIX 5L 磁盘性能优化: 第 3 部分 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-02 10:00 |只看该作者 |倒序浏览
这是AIX 5L 磁盘优化的第三个部分,前2个部分就写的挺不错的,由浅入深的讲解了磁盘优化的原理和问题,以及一些工具。这个部分也是介绍了3个工具,有2个工具主要是收集磁盘的当前的状态的,让管理员更好的了解目前系统磁盘子系统的状态,通过一些数据来了解磁盘目前的配置和状体是否合理,第三个工具是ioo,一个十分重要的调整AIX 磁盘参数的工具,当然参数的调整是需要十分的小心的,因为对于一些在线系统不当的调整会造成性能的严重下降。所以做之前一定要谨慎,谨慎,再谨慎。。。。。。\r\n原文:http://www.ibm.com/developerwork ... gr-cn-ixpub&amp\r\n系列文章:http://www.ibm.com/developerwork ... gr-cn-ixpub&amp\r\n\r\n\r\n引言\r\n            本系列文章的第 1 部分和第 2 部分讨论了设计系统体系结构的重要性,它对整体系统性能所产生的影响,以及一个新的 I/O 优化工具 lvmo,您可以使用该工具对逻辑卷进行优化。在这个部分中,将研究如何使用 ioo命令优化您的系统,该命令可以对大多数 I/O 优化参数进行配置,并显示所有 I/O优化参数当前或者下一次的启动值。同时,还将介绍如何以及何时使用 filemon 和 fileplace 工具(这些特定的 AIX工具应该是您的技能库中重要的部分)、如何提高您的整体文件系统性能、如何优化您的文件系统,以及增强的日志记录文件系统 (JFS2)与日志记录文件系统 (JFS) 相比有什么不同。您甚至还将研究一些文件系统属性,如顺序访问和随机访问,它们都可能对性能产生影响。 \r\n            文件系统概述\r\n            这个部分将讨论 JFS2、文件系统性能,以及对 JFS 所做的特定性能改进。正如您所知道的,在 AIX 中有两种类型的内核。它们分别是 32位内核和 64位内核。尽管它们之间共享了一些常用的库、大多数的命令及实用工具,但了解它们之间的区别以及内核与整体性能优化之间的关系,这一点是非常重要的。JFS2 为 64 位内核进行了优化,而 JFS 则为 32位内核进行了优化。日记记录的文件系统可以提供更高的安全性,但在以前,往往会带来性能方面的开销。在选择相关的性能规则(以牺牲可用性为代价)时,为了使 JFS 提高性能,您可能会禁用元数据日志记录功能。就 JFS2而言,这种情况不再可能发生,甚至不再需要,因为已经对它进行了优化,以便更加高效地处理元数据密集型的应用程序。更重要的一点是,JFS2的关键优势在于其扩展能力。使用 JFS,单个文件最大不能超过 64GB。而使用 JFS2,您可以拥有一个 16TB的文件。另一个重大变化是目录组织方式的更改。增强的 JFS2 在执行索引节点搜索的时候使用二叉树的表示形式,与 JFS使用的线性方法相比,这种方法要好得多。而且,在创建文件系统的时候您不再需要分配索引节点,因为现在它们是由 JFS2动态分配的,这意味着将不会耗尽索引节点。尽管在本系列文章的第 1 部分中已经介绍了并发 I/O(请参见参考资料),但在这里有必要再次提及这个内容。并发 I/O 的实现允许多个线程并发地对同一个文件进行读写数据的操作。这是由于在实现 JFS2时采用了写操作排它索引节点锁的方式。这种方式允许多个用户同时对同一个文件进行读操作,当多个用户从相同的数据文件中进行读操作时,这种方式能够显著地提高性能。要打开并发 I/O,您只需要使用合适的标志装入 f/s(请参见清单 1)。我建议您在使用数据库(如 Oracle)的时候考虑使用并发 I/O 这个功能。\r\n            \r\n清单 1. 打开并发 I/O\r\n
                \r\nroot@lpar29p682e_pub[/] mount -o cio /test\r\nroot@lpar29p682e_pub[/] > df -k /test\r\nFilesystem    1024-blocks      Free %Used    Iused %Iused Mounted on\r\n/dev/fslv00        131072    130724    1%        4     1% /test\r\n
\r\n                            表 1 说明了 JFS2 的各种增强功能,以及它们与系统性能之间的关系。在优化您的 I/O 系统时,许多可调整的参数自身(稍后将深入研究这个问题)也存在差别,这取决于您正在使用的是 JFS 还是 JFS2,了解这一点同样也非常重要。 \r\n            \r\n表 1. JFS2 的增强功能\r\n            功能JFSJFS2压缩是否配额是是延迟的更新是否直接 I/O 支持是是优化32 位64 位最大文件系统大小1 TB4 PB最大文件大小64 GB4 PB索引节点的数目在创建 f/s 时确定动态的大文件支持作为装入选项缺省联机碎片整理是是Namefs是是DMAPI否是            filemon 和 fileplace\r\n            这个部分将介绍两个重要的 I/O 工具,filemon 和 fileplace,并讨论如何在日常系统管理工作中使用它们。 \r\n            filemon使用了一种跟踪工具来报告物理和逻辑存储(包括您的实际文件)的 I/O 活动。根据在运行跟踪工具时指定的时间间隔,对 I/O活动进行监视。它将报告所有文件系统层次的使用率,包括逻辑卷管理器(LVM)、虚拟内存和物理磁盘层。如果不使用任何标志,那么当要进行监视的应用程序或者系统命令运行时,它将在后台运行。跟踪工作将自动启动,直到停止该命令为止。此时,命令将生成 I/O活动报告,然后退出。它还可以处理由跟踪工具所记录的跟踪文件。然后,可以由该文件生成报告。因为对标准输出生成的报告通常会在您的屏幕中一滚而过,所以我们建议您使用 -o 选项,以便将该输出写入到一个文件(请参见清单 2)。 \r\n            \r\n清单 2. 使用带 -o 选项的 filemon\r\n
                \r\nroot@lpar29p682e_pub[/] > filemon -o dbmon.out -O all\r\n\r\nRun trcstop command to signal end of trace.\r\nSun Aug 19 17:47:34 2007\r\nSystem: AIX 5.3 Node: lpar29p682e_pub Machine: 00CED82E4C00\r\n\r\nroot@lpar29p682e_pub[/] > trcstop\r\n[filemon: Reporting started]\r\nroot@lpar29p682e_pub[/] > [filemon: Reporting completed]\r\n\r\n[filemon: 73.906 secs in measured interval]\r\n\r\nroot@lpar29p682e_pub[/] >\r\nWhen we look at our file, here is what we see:\r\nSun Aug 19 17:50:45 2007\r\nSystem: AIX 5.3 Node: lpar29p682e_pub Machine: 00CED82E4C00\r\nCpu utilization:  68.2%\r\nCpu allocation:   77.1%\r\n130582780 events were lost.  Reported data may have inconsistencies or errors.\r\nMost Active Files\r\n------------------------------------------------------------------------\r\n  #MBs  #opns   #rds   #wrs  file                     volume:inode\r\n------------------------------------------------------------------------\r\n   0.3      1     70      0  unix                     /dev/hd2:38608\r\n   0.0      9     11      0  vfs                      /dev/hd4:949\r\n   0.0      2      4      0  ksh.cat                  /dev/hd2:58491\r\n   Most Active Segments\r\n------------------------------------------------------------------------\r\n  #MBs  #rpgs  #wpgs  segid  segtype                  volume:inode\r\n------------------------------------------------------------------------\r\n   0.6      0    162   223b9  client\r\n   \r\nMost Active Logical Volumes\r\n------------------------------------------------------------------------\r\n  util  #rblk  #wblk   KB/s  volume                   description\r\n------------------------------------------------------------------------\r\n  0.25      0    120    0.2  /dev/hd8                 jfs2log\r\n  0.00      0   1304    2.7  /dev/hd4                 /\r\n  \r\n------------------------------------------------------------------------\r\nDetailed File Stats\r\n------------------------------------------------------------------------\r\n\r\nFILE: /unix  volume: /dev/hd2  inode: 38608\r\nopens:                  1\r\ntotal bytes xfrd:       286720\r\nreads:                  70      (0 errs)\r\n  read sizes (bytes):   avg  4096.0 min    4096 max    4096 sdev     0.0\r\n  read times (msec):    avg   0.003 min   0.002 max   0.005 sdev   0.001\r\nlseeks:                 130\r\n------------------------------------------------------------------------\r\nDetailed VM Segment Stats   (4096 byte pages)\r\n------------------------------------------------------------------------\r\n\r\nSEGMENT: 223b9  segtype: client\r\nsegment flags:          clnt\r\nwrites:                 162     (0 errs)\r\n  write times (msec):   avg   1.317 min   0.369 max   1.488 sdev   0.219\r\n  write sequences:      5\r\n  write seq. lengths:   avg    32.4 min       1 max      64 sdev    20.8\r\n\r\n------------------------------------------------------------------------\r\nDetailed Logical Volume Stats   (512 byte blocks)\r\n------------------------------------------------------------------------\r\n\r\nVOLUME: /dev/hd8  description: jfs2log\r\nwrites:                 15      (0 errs)\r\n  write sizes (blks):   avg     8.0 min       8 max       8 sdev     0.0\r\n  write times (msec):   avg   0.389 min   0.287 max   1.277 sdev   0.250\r\n  write sequences:      11\r\n  write seq. lengths:   avg    10.9 min       8 max      24 sdev     5.1\r\nseeks:                  11      (73.3%)\r\n\r\nDetailed Physical Volume Stats   (512 byte blocks)\r\n------------------------------------------------------------------------\r\n\r\nVOLUME: /dev/hdisk0  description: Virtual SCSI Disk Drive\r\nwrites:                 33      (0 errs)\r\n  write sizes (blks):   avg    45.3 min       8 max     256 sdev    82.7\r\n  write times (msec):   avg   0.544 min   0.267 max   1.378 sdev   0.370\r\n  write sequences:      26\r\n  write seq. lengths:   avg    57.5 min       8 max     512 sdev   122.6\r\nseeks:                  26      (78.8%)\r\n  seek dist (blks):     init 17091584,\r\n                        avg 913560.3 min       8 max 3940256 sdev 1431025.7\r\n  seek dist (%tot blks):init 40.74951,\r\n                        avg 2.17810 min 0.00002 max 9.39430 sdev 3.41183\r\ntime to next req(msec): avg 6369.624 min   0.051 max 120046.794 sdev 23589.450\r\nthroughput:             3.1 KB/sec\r\nutilization:            0.00\r\n
\r\n            您可以在输出结果中查找较长的寻道时间,因为它们可能会导致应用程序性能降低。通过仔细地观察读写序列的计数,您可以更深入地确定该访问是顺序访问还是随机访问。当进行 I/O优化的时候,该信息可以为您提供帮助。该输出清楚地说明了这里不存在任何 I/O 瓶颈。filemon可以提供大量的信息,事实上,我常常发现它所提供的信息太多了。而且,在使用 filemon 时可能带来很大的性能损失。让我们来看一下,在运行filemon(请参见图 1)时,topaz 的结果。\r\n                            \r\n图 1. 在运行 filemon 时 topaz 的结果\r\n                            \r\n            在这个示例中,filemon 几乎占据了 96% 的 CPU!通常,我不推荐使用带来如此巨大开销的性能工具,所以我要重申一下,尽管 filemon 的确有其用武之处,但您在使用它的时候仍需非常小心。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP