NFS storage IO performance testing with ORION (ORacle IO Numbers)

Background

In my previous ORION Blog post I described how to prepare a Pure Storage FlashArray block volumes for use with Oracle ORION (ORacle IO Numbers), in this is Blog I am going to show how this can also be done with NFS.

Getting Started – Storage Preparation

For the purposes of this Blog I have created a single NFS volume of 100GB on a Pure Storage FlashBlade and noted it’s name.

Volume Creation

Configure NFS Point

To use our newly created NFS volume we first need to create a Linux mount point and add an entry into our /etc/fstab file e.g.

192.168.4.100:/z-rac1_orion1  /mnt/orion  nfs  rw,bg,hard,nointr,tcp,vers=3,timeo=600,actimeo=0  0 0
[root@z-rac1 ~]# mkdir /mnt/orion
[root@z-rac1 ~]# mount -a
[root@z-rac1 ~]# chown oracle:oinstall /mnt/orion

[root@z-rac1 ~]# df -h
Filesystem                        Size  Used Avail Use% Mounted on
...
192.168.4.100:/z-rac1_orion1      100G     0  100G   0% /mnt/orion

Setting-Up ORION

Now we have prepared and presented our storage we can configure Orion, by default Orion looks a configuration file called orion.lun, however you can also use alternative configuration file by using the testname switch e.g. ‘normal.lun’

$ dd if=/dev/zero of=/mnt/orion/orion1 bs=1024k count=10000
$ dd if=/dev/zero of=/mnt/orion/orion2 bs=1024k count=10000
$ dd if=/dev/zero of=/mnt/orion/orion3 bs=1024k count=10000
$ dd if=/dev/zero of=/mnt/orion/orion4 bs=1024k count=10000

[oracle@z-rac1 orion]$ ls -l
total 40960000
-rw-r--r--. 1 oracle oinstall 10485760000 Jul 15 12:42 orion1
-rw-r--r--. 1 oracle oinstall 10485760000 Jul 15 12:42 orion2
-rw-r--r--. 1 oracle oinstall 10485760000 Jul 15 12:43 orion3
-rw-r--r--. 1 oracle oinstall 10485760000 Jul 15 12:43 orion4

[oracle@z-rac1 orion_test]$ cat normal.lun 
/mnt/orion/orion1
/mnt/orion/orion2
/mnt/orion/orion3
/mnt/orion/orion4

Running ORION

Orion support 5 types of workload tests Simple, Normal, Advanced, DSS and OLTP. (example output from orion -help

WARNING: IF YOU ARE PERFORMING WRITE TESTS, BE PREPARED TO LOSE ANY DATA STORED ON THE LUNS.

simple   - Tests random small (8K) IOs at various loads,
           then random large (1M) IOs at various loads.
normal   - Tests combinations of random small (8K) IOs and 
           random large (1M) IOs.
advanced - Tests the workload specified by the user 
           using optional parameters.
dss      - Tests with random large (1M) IOs at increasing 
           loads to determine the maximum throughput.
oltp     - Tests with random small (8K) IOs at increasing 
           loads to determine the maximum IOPS.

The Orion help provides a number of examples to help you get started, in my next Blog post I will provide further examples and share the output created.

For a preliminary set of data
-run simple 
For a basic set of data
-run normal 
To evaluate storage for an OLTP database
-run oltp 
To evaluate storage for a data warehouse
-run dss 
To generate combinations of 32KB and 1MB reads to random locations
-run advanced 
-size_small 32 -size_large 1024 -type rand 
-matrix detailed
To generate multiple sequential 1MB write streams, simulating RAID0 striping
-run advanced 
-simulate RAID0 -write 100 -type seq
-matrix col -num_small 0

In subsequent Blog posts I will share some of my block and NFS results.

One comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s