Direct NFS makes it possible for Oracle to drive much higher performance than the operating system's own NFS driver. This overview blog is intended to compare and contrast Oracle Direct NFS with the traditional NFS Client (Kernel NFS). I’m going to give an explanation of the tech and a performance comparison, while considering the advantages of Oracle Direct NFS and how simple it is to use. I’m confident you’ll walk away convinced that your database should use dNFS.
How Oracle Direct NFS Works at a High Level
- Direct NFS bypasses the operating system’s buffer cache; data is cached just once in the user space, which eliminates the overhead of memory copies.
- Unlike the traditional NFS client, which uses a single network flow (as shown below),
Oracle Direct NFS improves performance by load-balancing network traffic across multiple network flows (see Figure 2), allowing the Oracle database to dynamically establish a significant umber of650 distinct network connections. Read on to see why these network flows matter.
Figure 1: Traditional NFS client uses a single network flow
Figure 2: Oracle DNFS dynamically establishes a significant number of distinct network connections
As discussed in the orafaq for Direct NFS, Oracle Direct NFS (dNFS) is an optimized NFS client that provides faster and more scalable access to NFS storage located on NAS storage devices (accessible over TCP/IP). Direct NFS is built directly into the database kernel—just like ASM, which is mainly used with DAS or SAN storage.
A good guideline is to use Direct NFS when implementing NAS storage and ASM when implementing SAN storage.
Direct NFS is the default option in Oracle 18c and has been the default for RAC for many years.
As shown below, by using dNFS (available since Oracle 11g), an Oracle database running on an Azure Virtual Machine can drive significantly more I/O than the native NFS client, which uses a single network flow.
Enabling or disabling dNFS is as simple as running two commands and restarting the database.
Enable: cd $ORACLE_HOME/rdbms/lib ; make -f ins_rdbms.mk dnfs_on
Disable: cd $ORACLE_HOME/rdbms/lib ; make -f ins_rdbms.mk dnfs_off
Combining Azure NetApp Files with Oracle Direct NFS
To learn more about how you can streamline Oracle Direct NFS’s already stellar performance, check out Azure NetApp Files. ANF gives you total control over your application performance, and it can meet extremely demanding applications head on. Azure NetApp Files and Oracle databases are an ideal pairing. With the performance benefits of Oracle Direct NFS and the high-performance capabilities of Azure NetApp Files, drive your workload farther, faster.