Thursday, August 28, 2014

IO Bench Marking

1 dd
For a quick and dirty test of your disk performance, you can time writes performed by the dd command.

$ time sh -c "dd if=/dev/zero of=dd-test-file bs=8k count=1000000 && sync"

This is no reflection of how disk performance will look when being accessed by Oracle systems.


2 ORION
ORION (ORacle IO Numbers) mimics the type of I/O performed by Oracle databases, which allows you to measure I/O performance for storage systems without actually installing Oracle.
Step 1
Make disks as follows:
dd if=/dev/zero of=/u05/utilities/orion/disk1  bs=8192  count=10240
dd if=/dev/zero of=/u05/utilities/orion/disk2  bs=8192  count=10240
dd if=/dev/zero of=/u05/utilities/orion/disk3  bs=8192  count=10240
dd if=/dev/zero of=/u05/utilities/orion/disk4  bs=8192  count=10240
dd if=/dev/zero of=/u05/utilities/orion/disk5  bs=8192  count=10240
dd if=/dev/zero of=/u05/utilities/orion/disk6  bs=8192  count=10240
dd if=/dev/zero of=/u05/utilities/orion/disk7  bs=8192  count=10240
dd if=/dev/zero of=/u05/utilities/orion/disk8  bs=8192  count=10240
Step 2
Next, create a file to hold the LUN configuration. In this case I will call my test orion_test1, so my LUN configuration file must be called orion_test1.lun. Make sure it is in the same directory as the ORION executable. The file should contain a list of the luns used in the test.

/u05/utilities/orion/disk1
/u05/utilities/orion/disk2
/u05/utilities/orion/disk3
/u05/utilities/orion/disk4
/u05/utilities/orion/disk5
/u05/utilities/orion/disk6
/u05/utilities/orion/disk7
/u05/utilities/orion/disk8
Step 3
Verify that the all volumes specified in the input file, are accessible using the command dd as follows.
dd if=/u05/utilities/orion/disk1 of=/dev/null bs=32k count=1024
Step 4
Verify that your platform has the necessary libraries installed to do asynchronous I/Os. The Orion test is completely dependent on asynchronous I/O. On Linux and Solaris, the library libaio must be in the standard lib directories or accessible through the shell environment's library path variable (usually LD_LIBRARY_PATH or LIBPATH, depending on your shell).
Step 5
Run test as follows:
 ./orion -run oltp
./orion -run dss


3. DBMS_RESOURCE_MANAGER.CALIBRATE_IO
The CALIBRATE_IO is used to measure the IO bench marking after Oracle database is created.

There are a few restrictions associated with the procedure and execute the below noted script (as system user) to verify the prerequisites are satisfied.
SQL>@check_calibrate_io_prerequisites.sql.

Execute calibirate_io.sql (as system user) to calibrate:
SQL>@calibirate_io.sql.

Execute list_calibirate_io.sql (as system user) to list the calibrated values:
SQL>@list_calibirate_io.sql