IBM Support

磁盘观察器简介

Technical Blog Post


Abstract

磁盘观察器简介

Body

磁盘观察器是IBM i5/OS 系统提供的一个新功能,它收集的磁盘数据帮助我们确定磁盘相关的性能问题。这个工具收集磁盘单元详细的输入输出操作信息。与已有的磁盘工具:磁盘状态(WRKDSKSTS),系统状态(WRKSYSSTS)以及系统活动信息(WKSYSACT)相比,磁盘观察器生成的数据更加详尽。磁盘观察器是另一类工具,它可以抓取磁盘输入输出,磁盘分页速度和处理器使用情况和临时存储使用情况,除此之外,磁盘观察器同时会收集与输入输出操作有关的程序,对象以及作业,线程,任务的信息。

磁盘观察器数据采集

首先介绍一下磁盘观察器定义,在启动一个磁盘观察器的时候需要指定一个磁盘观察器定义,磁盘观察器定义中包括我们以什么样的方式收集什么样的数据。使用ADDDWDFN来创建一个磁盘观察器定义(图示 1)。磁盘观察器提供两种收集类型 – 统计和跟踪,通过配置类型(TYPE)参数来确定收集一种或同时收集两种(*ALL)类型的数据。

图像

图示1

使用命令STRDW并选择一个磁盘观察器定义(图示 2),即可启动磁盘观察器工具。所收集的数据会写入一组以QAPYDW开头的数据库文件中。如表1所示,磁盘观察器生成的文件名以及每个文件所对应的的收集类型。注意,在数据收集过程中,系统的活动情况是不停变化的。当磁盘观察器尝试为QAPYDWTDER, QAPYDWPGMR或QAPYDWOBJR收集解析度数据时,如果相应的作业,程序或对象已不存在,数据不会被记录在文件中。

图像

图示2

表1

Database file Type Description
QAPYDWINTI *STATS,  *ALL and *TRACE 这个文件中包含磁盘观察器会话抓取的每个数据样本。
QAPYDWOBJR *TRACE and *ALL 这个文件包含对象解析信息。
QAPYDWPGMR *TRACE and *ALL 这个文件包含程序解析信息。
QAPYDWRUNI *STATS,  *ALL and *TRACE 这个文件包含磁盘观察器会话的信息。
QAPYDWSTAT *STATS and *ALL 这个文件提供指定磁盘单元的概述统计。
QAPYDWTDER *TRACE and *ALL 这个文件提供作业调度元素(TDE)解析信息
QAPYDWTRC *TRACE and *ALL 这个文件记录了在指定的ASP上发生的每次输入输出操作的指定追踪信息

 

程序和对象解析数据

你可能希望在文件QAPYDWPGMR 和 QAPYDWOBJR中收集程序和对象解析数据,用于分析特定性能问题。如表1所示的,你必须为对象信息参数(OBJINF)指定*ALL 或 *RESIDENT来收集相应信息。当指定*RESIDENT时,磁盘观察器会收集当前内存(驻留存储)中所有的程序和对象信息,这一选项带来的性能损失相对较小。但是当指定*ALL时,对性能的影响就会非常明显。当磁盘观察器尝试收集内存中没有的程序和对象信息时,它会导致页错误,这会导致收集性能下降甚至会影响整个系统。有一点很重要,磁盘观察器对性能的影响取决于数据收集的量也就是系统的活动级别。

 

确定收集间隔

磁盘观察器从系统包缓冲池中收集输入输出操作数据, 这意味着当缓冲池装满时,前面的数据会被覆盖,磁盘观察器定期的从缓冲池中抓取数据。收集间隔(COLITV)参数决定了两次数据收集间的时间长度。在系统上抓取所有的输入输出操作,依据系统的活动级别来选择收集间隔。在输入输出操作较少的系统上不需要较小的间隔,但它是不会对集合有损害。换言之,在输入输出操作较多的系统上设置较大的间隔会丢失输入输出数据。如果在间隔期间数据丢失了,QPAYDWINTI中的IIDATAMISS会被设置成1. 磁盘观察器提供了一个动态间隔选项(*DYN),可以在收集过程中调整间隔。采样过程中,如果缓冲池没有被装满,间隔会被延长,如果出现数据丢失,间隔会被缩短。当动态间隔选项设置为*DYN时,间隔不会超过2分钟。

 

限制数据集合

 在一个很大的系统上,对集合进行限制可以提升工具的性能,并能减少用于分析的数据量。使用ADDDWDFN创建自己的磁盘观察器定义,使用下面所列的命令选项来限制集合,这些选项适用于统计和跟踪数据。

  • ASP号或者ASP设备名(ASPDEV) - 为指定的多个ASP或者单一ASP设备收集数据
  • 磁盘单元号 - 为指定的磁盘单元收集数据。如果识别出指定的ASP号,选择的磁盘单元必须存在于指定的ASP中。
  • 存储池标识 - 为一个存储池收集数据。
  • I/O类型 (POOLID) -为指定类型的I/O操作 (例如,读操作、写操作或者所有其他类型的磁盘操作) 收集数据。
  • 收集条件 (COLCOND) – 只为持续时间满足指定条件的I/O操作收集数据。你必须选择时间类型去评估 (响应时间、排队时间或者服务时间),还要选择寻找的条件类型以及需要去比较的值。比如,你可能选择只收集响应时间大于100微秒的I/O操作。这个选项只适用于跟踪类型的数据。
  • 收集范围 (COLRNG) – 只为持续时间落于指定时间范围的I/O操作收集数据。你必须选择时间类型去评估 (响应时间、排队时间或者服务时间),还要选择时间范围的上限和下限用来比较。比如,你可能选择为那些延迟排队时间介于50微秒和10微秒之间的I/O操作收集数据。这个选项只适用于跟踪类型的数据。

 

潜在的应用

在评估磁盘性能问题的时候,收集的数据可以帮助回答以下的问题:哪些作业、线程或者任务引起最多的I/O操作?哪些程序引起最多的I/O操作?哪些对象是I/O操作的目标?在多路径磁盘单元的I/O操作的性能上有差异吗?

在更改配置之前和之后运行磁盘观察器,可以帮助你去评估更改配置是否提升或者降低了性能。磁盘观察器收集的数据可以解释这些问题:在磁盘单元之间更改数据分配提升了系统性能吗?在我的系统上如何以最优的方案去放置设备、I/O适配器或者总线。

 

相关信息

V5R3和V5R4通过一组PTF提供磁盘观察器功能。所有的PTF都可以在IBM修复中心网站找到. PTF V5R3 SI24918和V5R4 SI24919是运行磁盘观察器需要的其他PTF的前提条件。V6R1和V7R1 需要安装组件5770PT1 option 1,你也可以在PTF的发布信里找到关于STRDW命令的完整帮助文档。

 

作者:   孔祥坤,张泽

了解更多关于IBM i 的信息,请关注IBM i 新浪官方微博@IBMiChina

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

UID

ibm11144720