使用 onstat -g ppf 命令监视分段存储

使用 onstat -g ppf 命令,您可以查看分区信息并监视 I/O 活动以验证策略并确定各分段之间 I/O 是否均衡。

onstat -g ppf 输出包括发送给每个当前打开的分段的读写请求数。由于请求可能触发多个 I/O 操作,因而这些请求无法说明发生多少单个磁盘 I/O 操作,但您可以从所显示列中清楚地了解 I/O 活动。

输出中的 brfd 列显示页面中缓冲区读取的次数。(每个缓冲区可包含一个页面。)如果需要监视执行查询所用的时间,此信息很有用。通常,查询执行时间很大程度上取决于所需缓冲区读取数。 如果客户机/服务器缓冲区的大小很小而您的数据库包含 TEXT 数据,查询执行时间受缓冲区读取数的影响会大很多,因为服务器会读取先前 TEXT 数据。

onstat -g ppf 输出本身不会标识分段所在的表。要确定该分段的表,请将输出中的 partnum 列与 sysfragments 系统目录表中的 partnum 列连接起来。sysfragments 表显示相关的 table id。还可以通过将 sysfragments 中的 table id 列与 systables 中的 table id 列连接来查找分段的表名。

要确定 onstat -g ppf 输出中的表名:

  1. 获取 onstat -g ppf 输出的 partnum 字段中的值。
  2. sysfragments 系统目录表的 tabid 列与 systables 系统目录表的 tabid 列连接起来,以从 systables 中获得表名。

    在 SELECT 语句中,使用在步骤 1 中获取的 partnum 字段值。

    SELECT a.tabname FROM systables a, sysfragments b
          WHERE a.tabid = b.tabid
                AND partn = partnum_value;