Monitoring Performance

Recovery Appliance ships with two utilities—rastat.pl and network_throughput_test.sh—that can assist you in evaluating the performance of your system.

Generating Performance Statistics by Using the rastat Utility

rastat.pl is a command line utility that runs tests against the Recovery Appliance to gather performance statistics which can help you identify system bottlenecks.

The tests can generate statistics on:

  • backup data sent to the Recovery Appliance over the network

  • restore data received from the Recovery Appliance over the network

  • Recovery Appliance ASM disk group read or write I/O

  • Recovery Appliance container file read or write I/O

  • Recovery Appliance container file allocation rate

The utility is a Perl script that can be run from any Linux or Unix-based client machine that is either a protected database or an upstream Recovery Appliance. The I/O tests however, can also be run directly from the Recovery Appliance server.

You can run multiple tests in parallel on one or more protected databases to simulate a real environment. Each test result represents the performance of an individual client. Note that ongoing activities between other protected databases and the Recovery Appliance being tested, such as backup and restore or other testing, can impact the resulting statistics.

Prerequisites for Running the rastat Utility

Before you run the rastat utility, ensure that the following requirements are met:

  • The platform on which you will be running rastat is either Linux or Unix.

  • If you will be running the utility from a protected database, copy the rastat.pl file from the /opt/oracle.RecoveryAppliance/client/ directory of a Recovery Appliance compute server to the protected database.

  • Complete the steps to enroll the protected database with the Recovery Appliance as described in "Enrolling Protected Databases".

  • Ensure that the $ORACLE_HOME and $ORACLE_SID environment variables are configured if you do not plan to set them by using the applicable options when you run the utility.

Running the rastat Utility

This section describes how to run rastat.pl and provides several examples of how to execute various performance tests, along with sample output.

Note:

If the NETBACKUP and NETRESTORE tests do not display the results to the standard output, you can view results by looking at the sbtio<pid>.log files.

To run the rastat utility:

  1. Ensure that the system from which you are running the utility meets the requirements, as described in "Prerequisites for Running the rastat Utility".

  2. Open a command prompt window.

  3. Enter the applicable command syntax for the tests you want to run, and press Enter.

    Refer to the "rastat Utility Reference" for information about the general syntax and the options for each test.

Example 1: Running rastat to Test Backup Performance

In the following example, the NETBACKUP test is specified, the backup file size is set to 2048 megabytes, the Recovery Appliance VPC user connection string is supplied, and the RMAN configuration is set by using the --parms option.

>$ORACLE_HOME/perl/bin/perl rastat.pl --test=NETBACKUP --filesize=2048M 
--catalog=rman/rman@inst2 --parms='SBT_LIBRARY=/u01/oracle/lib/libra.so, 
ENV=(RA_WALLET=location=file:/u01/oracle/dbs/ra_wallet 
credential_alias=ra-scan:1521/zdlra5:dedicated)'

NETWORK TEST FROM PROTECTED DATABASE TO RECOVERY APPLIANCE

393 MB/s, 2048 MB sent

Example 2: Running rastat to Test I/O Reads from a Recovery Appliance ASM Disk Group

In the following example, the ASMREAD test is specified, the test file size is set to 2048 megabytes, the Recovery Appliance SYS user connection string is supplied, and +RCVAREA is specified as the disk group to read from.

>$ORACLE_HOME/perl/bin/perl rastat.pl --test=ASMREAD --filesize=2048M 
--rasys=admin/admin@inst2 --diskgroup=+RCVAREA

RECOVERY APPLIANCE READ IO TEST FROM DISK

Disk Group: +RCVAREA

2048 MB, 6.06s read IO time, .65s CPU time, 337.99 MB/s, 10.79% CPU usage

PL/SQL procedure successfully completed.

Example 3: Running rastat to Test I/O Writes to a Recovery Appliance Container Group

In the following example, the CONTAINERWRITE test is specified, the test file size is set to 2048 megabytes, the Recovery Appliance SYS user connection string is supplied, and the BLOCK_POOL container group is specified as the disk group to write to.

>$ORACLE_HOME/perl/bin/perl rastat.pl --test=CONTAINERWRITE --filesize=2048M 
--rasys=admin/admin@inst2 --diskgroup=/:BLOCK_POOL 

RECOVERY APPLIANCE WRITE IO TEST TO CONTAINER FILES

Disk Group: /:BLOCK_POOL

2048 MB, 9.55s write IO time, 3.50s CPU time, 214.35 MB/s, 36.60% CPU usage

PL/SQL procedure successfully completed.

Example 4: Running rastat to Test File Allocation to a Recovery Appliance Container Group

In the following example, the CONTAINERALLOC test is specified, the test file size is set to 2048 megabytes, the Recovery Appliance SYS user connection string is supplied, and the BLOCK_POOL container group is specified as the disk group to write to.

>$ORACLE_HOME/perl/bin/perl rastat.pl --test=CONTAINERALLOC --filesize=2048M 
--rasys=admin/admin@inst2 --diskgroup=/:BLOCK_POOL 

RECOVERY APPLIANCE CONTAINER FILE ALLOCATION TEST

Disk Group: /:BLOCK_POOL

2048 MB, 6.24s allocation time, 3.69s CPU time, 328.34 MB allocated per second, 59.09% CPU usage

PL/SQL procedure successfully completed.

Testing Network Throughput

You can measure theoretical network throughput in a Recovery Appliance environment by using the network_throughput_test.sh script that ships with the appliance.

See My Oracle Support Note Doc ID 2022086.1 (http://support.oracle.com/epmos/faces/DocumentDisplay?id=2022086.1) for information and instructions on how to use the utility.