Network Enhancements

This topic is no longer on Upgrade Exam as of 2020-01-25!

Improve performance by Compression

New Features in lists the following new features among others:

    • Larger Session Data Unit Sizes

    • Oracle Net supports large session data unit (SDU) sizes, with a new upper limit of 2 MB. The larger SDU size can be used to achieve better utilization of available network bandwidth in networks that have high bandwidth delay products and host resources, according to application characteristics.

    • See Also:

    • Oracle Database Net Services Administrator's Guide for information about configuring SDU

    • Advance Network Compression

    • Advanced Network Compression is another new feature that reduces the amount of data transmitted over the network. New parameters for the sqlnet.ora file enable compression and selection of the preferred compression level. Advanced Network Compression is available as part of Advanced Compression Option.

    • See Also:

    • SQLNET.COMPRESSION", "SQLNET.COMPRESSION_LEVELS", and "SQLNET.COMPRESSION_THRESHOLD"

Setup Compression

Without compression, I ran the following tests:

SQL> set arraysize 1000

SQL> set timing on autotrace traceonly statistics

SQL> select * from dba_objects;


90931 rows selected.


Elapsed: 00:00:00.74


Statistics

----------------------------------------------------------

0 recursive calls

0 db block gets

6698 consistent gets

0 physical reads

0 redo size

3847666 bytes sent via SQL*Net to client

1541 bytes received via SQL*Net from client

92 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)

90931 rows processed


SQL> /


90931 rows selected.


Elapsed: 00:00:00.64


Statistics

----------------------------------------------------------

0 recursive calls

0 db block gets

6698 consistent gets

0 physical reads

0 redo size

3847666 bytes sent via SQL*Net to client

1541 bytes received via SQL*Net from client

92 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)

90931 rows processed


SQL> /


90931 rows selected.


Elapsed: 00:00:00.67


Statistics

----------------------------------------------------------

0 recursive calls

0 db block gets

6698 consistent gets

0 physical reads

0 redo size

3847666 bytes sent via SQL*Net to client

1541 bytes received via SQL*Net from client

92 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)

90931 rows processed

In /opt/app/oracle/product/12.1.0/dbhome_1/network/admin/sqlnet.ora, the following lines were added:

sqlnet.compression=on
SQLNET.COMPRESSION_LEVELS=(low)
SQLNET.COMPRESSION_THRESHOLD=1024

Repeating the same test again, I get similar results:

SQL> connect sys@plum as sysdba

Enter password:

Connected.

SQL> set arraysize 1000

SQL> set timing on autotrace traceonly statistics

SQL> select * from dba_objects;


90931 rows selected.


Elapsed: 00:00:00.69


Statistics

----------------------------------------------------------

0 recursive calls

0 db block gets

6698 consistent gets

0 physical reads

0 redo size

3847666 bytes sent via SQL*Net to client

1541 bytes received via SQL*Net from client

92 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)

90931 rows processed


SQL> /


90931 rows selected.


Elapsed: 00:00:00.70


Statistics

----------------------------------------------------------

0 recursive calls

0 db block gets

6698 consistent gets

0 physical reads

0 redo size

3847666 bytes sent via SQL*Net to client

1541 bytes received via SQL*Net from client

92 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)

90931 rows processed


SQL> /


90931 rows selected.


Elapsed: 00:00:00.71


Statistics

----------------------------------------------------------

0 recursive calls

0 db block gets

6698 consistent gets

0 physical reads

0 redo size

3847666 bytes sent via SQL*Net to client

1541 bytes received via SQL*Net from client

92 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)
90931 rows processed


This is strange. I am connecting to the local host (personal) via SQL*Net because of the PDB.