Oracle Other File IO Statistics Test
An Oracle database can typically consist of data files, control files, redo log files, temporary files, archive log files, and files of many other types. If I/O requests to any of these files experience processing bottlenecks, it is bound to adversely impact user experience with the Oracle database server. If this is to be avoided, administrators should closely track read/write requests to each of these files, measure how quickly the server handles these requests, and initiate pre-emptive action upon the first sign of a processing latency. This is where the eG agent helps. The eG agent periodically runs the Oracle Datafile IO Statistics test and points administrators to latencies in I/O requests to datafiles. Likewise, at configured intervals, the eG agent runs the Oracle Temporary File IO Statistics test to enable administrators to spot latencies when processing requests to temporary files.
Similarly, to determine whether/not requests for any of the other files in an Oracle database are processed slowly, administrators can configure the eG agent to run the Oracle Other File IO Statistics test at regular intervals. This test auto-discovers the archive log files, redo log files, control files, etc., in the Oracle databases and reports the time taken by the server for processing single block and multiblock I/O requests to each file. This way, the test points you to current/probable latencies when processing I/O requests to archive, redo log, control files, and others. The exact file, when reading from/writing to which, the latency was maximum can also be identified.
Target of the test : An Oracle 12c server
Agent deploying the test : An internal agent
Outputs of the test : One set of results for every file other than datafiles and temp files on the Oracle server.
|
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Multiblock read time: |
Indicates the time taken by this file to service multiblock I/O requests during the last measurement period.
|
Secs/Read |
Multiblock I/O read means reading multiple database blocks with a single operating system READ call. Typically, a database block is 8 KB. A single block read call results in one of these 8 KB blocks read from the datafile. Where a lot of data is to be read, it would be less efficient and more resource-intensive to read single blocks of data of 8KB each when the underlying I/O system is capable of reading say, 1 MB in one read. Oracle therefore issues a multiblock I/O and requests 1MB worth of block (128 8kb blocks) in one system READ call rather than 128 individual requests and therefore speeds up performance of the I/O requests. A very high value of this measure could indicate a bottleneck when processing multiblock read requests to a particular file. Compare the value of this measure across files to accurately identify that file from which multiple blocks of data were read from most slowly. |
Singleblock read time: |
Indicates the time taken for singleblock reads from this file during the last measurement period. |
Secs/read |
Typically, a database block is 8 KB. A single block read call results in one of these 8 KB blocks read from the datafile. Where a lot of data is to be read, it would be less efficient and more resource-intensive to read single blocks of data of 8KB each when the underlying I/O system is capable of reading say, 1 MB in one read. A very high value of this measure could indicate a bottleneck when processing single block read requests to a particular file. Compare the value of this measure across files to accurately identify that file from which a single block of data was read from most slowly. |
Multiblock write time: |
Indicates the time taken for multiblock writes into this file during the last measurement period.
|
Secs/write |
Multiblock I/O write means writing multiple database blocks to a file with a single operating system WRITE call. A very high value of this measure could indicate a bottleneck when processing multiblock write requests to a particular file. Compare the value of this measure across files to accurately identify that file to which multiple blocks of data were written most slowly. |
Singleblock write time: |
Indicates the time taken for singleblock writes to this file during the last measurement period. |
Secs/write |
In case of a singleblock write, a write call results in a single 8KB block being written into the file. If a lot of data is to be written to a file, single block writes can significantly increase I/O processing overheads and related resource costs. A very high value of this measure could indicate a bottleneck when processing single block write requests to a particular file. Compare the value of this measure across files to accurately identify that file to which a single block of data was written most slowly. |
Sync read latency: |
Indicates the average latency for singleblock synchronous reads for single request since last test cycle on this file. |
Msecs/request |
If there is a high latency for critical files, you may want to consider relocating these files to improve their service time. |
IO time since last measure: |
Indicates the time taken by IOPS on this file during the last measurement period. |
Secs |
A high value could indicate a processing bottleneck. Compare the value of this measure across files to identify that file, the reads and writes to which take the maximum time. |