This screen allows you to display I/O statistics for each file in the database. When you select "IO Statistics (by file)" from the display menu, Oracle Rdb displays a list of files that comprise the database and for which you can choose to view statistics. With the exception of the all data/snap files screen, each screen shows the I/O activity for a specific database file. The all data /snap files screen shows a summary of I/O activity for all data and snapshot files. The information in this screen applies from the time that your Performance Monitor session began, or since the accumulators were last reset (using the [R]eset option). The following information is displayed: o total I/Os The total number of I/O operations to the file being displayed, broken down to the number of synchronous read, synchronous write, extend, asynchronous read, and asynchronous write operations. This number does not include creation or truncation operations. o rate per second This section provides information on the rate at which I/O operations are performed by the database. A single I/O operation may access several blocks of information; thus, the number of I/O operations does not correlate directly to the volume of data manipulated. However, if the file is on a disk by itself and this number is high (greater than 30 for RA8n disks), the file may be a good candidate for partitioning. This number also indicates how much use the file is getting, and if the file should be on its own disk. The information is partitioned into the following categories: o max. This category indicates the maximum number of operations per second attained for synchronous read, synchronous write, extend, asynchronous read, and asynchronous write operations. The max. category is typically used to differentiate peaks in performance from the system-wide average. Note that no total figure is displayed for this category. o cur. This category indicates the current number of operations per second attained for synchronous read, synchronous write, extend, asynchronous read, and asynchronous write operations. This information is computed using the number of I/O operations performed during the screen-update time interval. o avg... This category indicates the average number of operations per second attained for synchronous read, synchronous write, extend, asynchronous read, and asynchronous write operations. The avg. category is typically used to determine overall system activity. Note that no total figure is displayed for this category. o total count This category indicates the total number of synchronous read, synchronous write, extend, asynchronous read, and asynchronous write operations performed by the database. The total count category serves as the basis for the Average Per I/O categories. It is a good indicator of how much I/O activity there is for a file and for comparing one file's activity with other files in the database. o average per trans This category indicates the total number of synchronous read, synchronous write, extend, asynchronous read, and asynchronous write operations, based on the total number of application transactions committed by all processes attached to the database. The total number of committed transactions is not displayed. The processing within a transaction and the duration of a transaction for this category are determined entirely by the application. The average per trans category can indicate whether or not certain transactions incur a high number of I/O operations to accomplish a task. If you notice a number that is higher than you expected, you should investigate further by using other Performance Monitor options. o blocks transferred This section provides information on the volume of data manipulated (transferred) by the database. Depending on the operation, Oracle Rdb attempts to make an I/O operation do as much work as possible by transferring as many blocks as possible. The blocks transferred statistic shows how much work is being done for each I/O operation. A number less than the buffer size indicates that either SPAM pages are used heavily (because they fill only one page), or there are contention problems because Oracle Rdb resolves contention problems by writing and reading pages rather than full buffers. The information is partitioned into the following categories: o avg. per I/O This category indicates the average number of blocks transferred for synchronous read, synchronous write, extend, asynchronous read, and asynchronous write operations, based on the total number of I/O operations that have been performed by the database. o total... This category indicates the total number of blocks transferred for synchronous read, synchronous write, extend, asynchronous read, and asynchronous write operations. o stall time (x100) This section provides information on how long processes wait for the I/O operations to complete. Processes typically stall due to contention for the disk by other processes. Stall time is measured in hundredths of a second but is displayed as whole numbers. Thus, a displayed value of 100 represents 1 second of stall time. A large number can indicate excessive I/O activity to a file and that requests are becoming stacked in a queue. This indicates the file is a good candidate for partitioning or being placed on another disk. Normally, RA8n disks should complete an I/O operation in 2/100 to 4/100 of a second, while RD5n disks should complete an I/O operation in 5/100 to 8/100 of a second. The information is partitioned into the following categories: o avg. per I/O This category indicates the average time stalled for synchronous read, synchronous write, extend, asynchronous read, and asynchronous write operations based on the number of I/O operations that have been performed. When you are displaying statistics for all data/snap files, the value for the average stall time per I/O field may not be what you expect if you have displayed the average stall time per I/O for the individual .rda and .snp files in the database. For example, it is possible for the average stall time per I/O for the all data/snap files screen to be 1.1 when the average stall times per I/O for the .rda and .snp files are 8.3, 5.7, 6.4, and 6.8, respectively. Oracle Rdb issues write I/O operations in parallel, asynchronously (this is a batch-write mechanism). This means that the average stall time per I/O for the all data /snap files screen is not the "average of the averages" shown for the individual .rda and .snp files; this would imply that the I/Os completed serially. Rather, the total I/O stall time is "the average of the averages divided by the number of I/Os;" the average for the all data/snap files screen is usually a fraction of the individual file averages because the stall time is amortized across all I/Os issued in parallel. For example, assume that Oracle Rdb does a batch-write operation (all in parallel, of course) to four storage areas. Assume that each individual storage area's I/O operation takes 20 milliseconds. If the I/Os were done serially, then the average stall time for all storage areas would be 20 milliseconds. However, because the I/Os are done in parallel, the average for all areas is actually 5 milliseconds (20 milliseconds divided by 4 I/O operations). o total... This category indicates the total time stalled for synchronous read, synchronous write, extend, asynchronous read, and asynchronous write operations. Note that the accumulators on this screen can be reset using the [R]eset option.