NFS Storage IO Performance Testing with ORION

If you have been following my Blog for a while you will by now know I am a long term fan of Oracle on NFS and more accurately Oracle Direct NFS (dNFS).

If you need to re-familirise yourself with Oracle dNFS you could do a lot worse than check-out some of my previous Blogs on dNFS.

https://ronekins.wordpress.com/2018/01/02/using-oracle-dnfs-multi-path/

https://ronekins.wordpress.com/2018/01/03/oracle-dnfs-throughput-testing/

Using ORION with NFS

In this Blog I am going to share ORION (ORacle IO Number) can be used to test both Kernel NFS and Oracle Direct NFS (dNFS)

ORION supports four storage types, which can be set with the -storax switch, in this Blog I will be using skgfr and odmlib types.

–storax type
API to use for testing I/O workload.
skgfr: Use operating system I/O layer.
oss: Use OSS API for I/O with Cell server in an Exadata machine.
asmlib: Use ASMLIB disk devices based storage API for I/O.
odmlib: Use Direct NFS storage based API for I/O

Interestingly, the -storax option is not shown with ORION 19.3.0 orion -help but it is still available and documented at the Oracle 19c database performance tuning guide.

NFS mount points

As ORION is Oracle dNFS aware, this provides a good way of comparing Kernel NFS and the impact of Oracle dNFS with a single mount point using the previously created files. (see previous Blog post)

[oracle@z-rac1 normal]$ ls -lh /mnt/orion/
total 40G
-rw-r--r--. 1 oracle oinstall 9.8G Jul 15 12:42 orion1
-rw-r--r--. 1 oracle oinstall 9.8G Jul 15 12:42 orion2
-rw-r--r--. 1 oracle oinstall 9.8G Jul 15 12:43 orion3
-rw-r--r--. 1 oracle oinstall 9.8G Jul 15 12:43 orion4

Below is the contents of my ORION normal.lun which is pointing to my dNFS mounted Pure Storage FlashBlade files.

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

FYI, ORION supports the use of soft links, so you may want to consider creating a single .lun file and using links to avoid having to maintain multiple .lun files e.g.

[oracle@z-rac1 normal]$ ln -s normal.lun normal_dNFS.lun 

Normal Test with Kernel NFS

$ORACLE_HOME/bin/orion \
-run normal \
-testname normal \
-hugenotneeded

The default is skgfr, however if you find yourself using alternative storage options it is probably a good idea to explicitly set it to remind you what storage option you are testing. e.g.

$ORACLE_HOME/bin/orion \
-run normal \ 
-testname normal \ 
-hugenotneeded \ 
-storax skgfr

Normal Test with Oracle dNFS

To use dNFS you must include the -storax odmlib option as shown below.

$ORACLE_HOME/bin/orion \ 
-run normal \ 
-testname normal_dNFS \ 
-hugenotneeded \ 
-storax odmlib

As you can see from the below, the ORION -storax odmlib option is now in use and Direct NFS is enabled.

ORION: ORacle IO Numbers -- Version RDBMS_19.3.0.0.0DBRU_LINUX.X64_190417
Calibration will take approximately 30 minutes.
Using a large value for -cache_size may take longer.
 
Direct NFS: channel id [0] path [192.168.4.100] to filer [flashblade] via local [192.168.4.3] is UP
Direct NFS: channel id [1] path [192.168.5.100] to filer [flashblade] via local [192.168.5.3] is UP
Direct NFS: channel id [2] path [192.168.6.100] to filer [flashblade] via local [192.168.6.3] is UP
Direct NFS: channel id [3] path [192.168.7.100] to filer [flashblade] via local [192.168.7.3] is UP
Direct NFS: attempting to mount /z-rac1_orion1 on filer flashblade defined in oranfstab
Direct NFS: channel config is:
      channel id [0] local [192.168.4.3] path [192.168.4.100]
      channel id [1] local [192.168.5.3] path [192.168.5.100]
      channel id [2] local [192.168.6.3] path [192.168.6.100]
      channel id [3] local [192.168.7.3] path [192.168.7.100]

Direct NFS: mount complete dir /z-rac1_orion1 on flashblade mntport 2049 nfsport 2049 using NFS version 3
Nothing to reap(storax_odmlib_aiowait:odm_io4)
 

NOTE: The Oracle oranfstab file can be a bit fussy, if you do not see a descriptive filer name or references to Direct NFS you probably need to go back and check the syntax of your oranfstab file.

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