优化 AIX 7 磁盘性能,第 1 部分: 磁盘 I/O 概述和长期监控工具(sar、nmon 和 topas)
Martin C. Brown, 作家, Freelance
Ken Milberg, 作家/网站专家, Future Tech
简介: 根据之前的有关 AIX 5L 的文章,基于对 AIX 7 beta
的研究,了解如何配置和监控 AIX 7。本文讨论对直接 I/O、并发 I/O 和异步 I/O 的支持,以及每种 I/O
实现方法的最佳实践。本系列分为三部分,讨论 AIX? 磁盘和 I/O 子系统,重点关注在优化磁盘 I/O
性能时遇到的各种挑战。尽管磁盘调优很可能没有 CPU 或者内存优化那么激动人心,但它是优化服务器性能的关键方面。事实上,部分原因是因为磁盘
I/O 是最薄弱的子系统环节,与任何其他子系统相比,可以通过更多的措施提高磁盘 I/O 性能。
发布日期: 2010 年 12 月 22 日
级别: 中级
原创语言: 英文
访问情况 : 10845 次浏览
评论: 0 (查看 | 添加评论 - 登录)
平均分 (16个评分)
为本文评分
磁盘 I/O 优化的关键部分涉及到在构建系统之前实现最佳实践。因为当系统已经启动并处于运行状态时,很难再对数据进行移动,所以需要在规划磁盘和 I/O 子系统环境时正确地完成这项任务,这一点是非常重要的。这包括物理架构、逻辑磁盘排列以及逻辑卷和文件系统配置。
当系统管理员听到可能出现了磁盘争用问题时,他或她首先会求助于 iostat。iostat 等同于使用 vmstat
提供有关内存的报告,它是获得有关 I/O 子系统的当前运行概况的一种快速而原始的方法。尽管运行 iostat
并不是一种完全不合理的反应,但是很早就应该着手考虑磁盘 I/O
的问题,而不是等到必须进行调优的时候。如果没有从一开始就正确地为环境配置磁盘,那么任何调优工作都无法提供帮助。而且,有一点非常重要,需要了解磁盘
I/O 的具体情况,以及它与 AIX? 和 your System p? 硬件之间的关系。
对于磁盘 I/O 调优来说,AIX 特有的工具和实用工具比通用的 UNIX?
命令和工具能够提供更多的帮助,因为它们的任务就是帮助优化本机 AIX 磁盘 I/O 子系统。在本文中,我们要定义和介绍 AIX I/O
栈,并将其与磁盘性能的物理和逻辑方面关联起来。本文介绍直接、并发和异步
I/O:它们是什么,如何启用它们,以及如何监控和优化它们。本文还介绍一些长期监控工具,应该使用它们来帮助优化系统。听到 iostat
并不是我们推荐的帮助长期收集统计数据的工具,您可能会感到奇怪。
本文讨论 AIX 7 的 beta 版中的支持和变化,包括不同子系统的配置方式方面的变化。AIX 7 中的主要变化进一步简化了许多
I/O 子系统的操作和配置,这个改进过程从 AIX 6 就开始了。其结果是许多 I/O
子系统不再需要启用和配置了。现在,以预先配置好的状态提供它们,当应用程序请求相关功能时,自动地启用和启动它们。
本文还关注那些有助于识别和改进要调优的子系统的变化。开始对系统进行监控的最佳时间是在首次将系统应用到生产环境中并正常运行时(而不是等
到用户抱怨系统性能非常糟糕的时候)。需要在系统正常运行的时候建立系统运行状态的基准,以便在系统可能不正常时对数据进行分析。在对 I/O
子系统进行更改时,一次仅进行一项更改,以便能够准确地评估这项更改的影响。为了评估其影响,可以使用本文中推荐的长期监控工具之一捕捉数据。
您应该知道,对于运行任何程序来说,最慢的部分实际上是花费在从磁盘获取数据上的时间。这是由 I/O
的物理组件造成的。实际的磁盘必须找到正确的柱面,控件需要访问正确的块,并且磁头必须等到这些块旋转到磁头下面。在对系统进行任何优化活动之前,首先应
该了解 I/O 系统的物理架构,因为如果 I/O
子系统的设计非常糟糕,其中包含慢速磁盘或者适配器的使用非常低效,那么任何优化工作都无法提供帮助。
图 1 说明了物理 I/O 组件与逻辑磁盘及其应用程序 I/O 如何紧密地关联在一起。这正是通常将其称为 AIX I/O 栈的原因。
图 1. AIX I/O 栈
在进行调优工作时,需要了解所有层,因为它们分别以不同的方式对性能产生影响。在第一次设置系统时