Case study of a situation in which disks are overloaded
You can identify overloaded disks and the dbspaces that
reside on those disks. After you identify the overloaded disks, you
can correct the problem.
About this task
The following case study illustrates a situation in which
the disks are overloaded. This study shows the steps taken to isolate
the symptoms and identify the problem based on an initial report from
a user, and it describes the needed correction.
A database
application that does not have the wanted throughput is being examined
to see how performance can be improved. The operating-system monitoring
tools reveal that a high proportion of process time was spent idle,
waiting for I/O. The database server administrator increases the number
of CPU VPs to make more processors available to handle concurrent
I/O. However, throughput does not increase, which indicates that one
or more disks are overloaded.
To verify the I/O bottleneck,
the database server administrator must identify the overloaded disks
and the dbspaces that reside on those disks.
To identify
overloaded disks and the dbspaces that reside on those disks:
The maxlen column shows the largest backlog of I/O requests
to accumulate within the queue. The last three queues are much longer
than any other queue in this column listing.
The totalops column shows 100 times more I/O operations
completed through the last three queues than for any other queue in
the column listing.
The maxlen and totalops columns indicate that
the I/O load is severely unbalanced.
Another way to check I/O
activity is to use onstat -g iov. This option provides a slightly
less detailed display for all VPs.
In the Chunks output, the pathname column
indicates the disk device. The chk/dbs column indicates the
numbers of the chunk and dbspace that reside on each disk. In this
case, only one chunk is defined on each of the overloaded disks. Each
chunk is associated with dbspace number 9.
The Dbspaces output
shows the name of the dbspace that is associated with each dbspace
number. In this case, all three of the overloaded disks are part of
the acctdbs dbspace.
Although the original disk configuration
allocated three entire disks to the acctdbs dbspace, the activity
within this dbspace suggests that three disks are not enough. Because
the load is about equal across the three disks, it does not appear
that the tables are necessarily laid out badly or improperly fragmented.
However, you might get better performance by adding fragments on other
disks to one or more large tables in this dbspace or by moving some
tables to other disks with lighter loads.