Database Reference
In-Depth Information
With Internet-based system implementations becoming very common, systems normally perform large,
asynchronous operations. Oracle performs asynchronous operations in batches. Disk I/O can also be improved by
configuring Oracle to use asynchronous I/O. Asynchronous I/O (AIO) can be enabled by installing the following
OS-specific patches (in this case Linux):
[root@oradb3 root]$ rpm -ivf libaio-0.3.96-3.i386.rpm
[root@oradb3 root]$ rpm -ivf libaio-devel-0.3.96-3.i386.rpm
Then recompile the Oracle kernel using the following command:
make -f ins_rdbms.mk async_on
make -f ins_rdbms.mk oracle
Subsequently, the following two parameters have to be set to the appropriate values:
DISK_ASYNCH_IO = TRUE (default)
FILESYSTEMIO_OPTIONS=ASYNCH
Asynchronous I/O allows a process to submit I/O requests without waiting for its completion. Enabling this
feature allows Oracle to submit asynchronous I/O requests, and while the I/O request is being processed, Oracle can
pick up another thread and schedule a new I/O operation.
Determining Segment Sizes
Poor performance in Linux environments—particularly with regard to online analytic processing (OLAP) queries,
parallel queries, backup and restore operations, or queries that perform large I/O operations—could be due to the
inappropriate setting of certain OS parameters. For example, by default on Linux environments, large I/O operations
are broken into 32K-segment chunks, separating system I/O operations into smaller sizes. To allow Oracle to perform
large I/O operations, certain default values at the OS should be configured appropriately. The following steps will help
identify the current parameter settings and make appropriate changes:
1.
Verify if the following parameters have been configured:
# cat /proc/sys/fs/superbh-behavior
# cat /proc/sys/fs/aio-max-size
# cat /proc/sys/fs/aio-max-nr
# cat /proc/sys/fs/aio-nr
aio-max-size . The aio-max-size parameter specifies the maximum block size that one
single AIO write/read operation can do.
aio-nr and aio-max-nr . aio-nr is the running total of the number of events specified
on the io_setup system call for all currently active AIO contexts. If aio-nr reaches
aio-max-nr , then io_setup will fail. aio-nr shows the current system-wide number of
asynchronous I/O requests. aio-max-nr allows you to change the maximum value that
aio-nr can increase to.
Increasing the value of the aio-max-size and aio_max_ns parameters to 1048576 and 56K,
respectively, helps the performance of the ASM disks, because ASM performs I/O in
1MB-sized chunks.
 
Search WWH ::




Custom Search