New to FME and befuddled by the performance disparity of Oracle Non-Spatial reader over high-latency network links. Needless to say, I understand the benefits of having FME close to the data, but…
I compared the performance of the Oracle Non-Spatial reader against a CSV export from Oracle SQL Developer of the same database view on various machines in various locations on our network. The size of the fetch was 46394 database rows with just 8 columns.
From a desktop machine in the data centre close to the source Geodatabase:
SQL Developer CSV Export: 8m16s
FME Desktop Reader: 10m11s
From a remote desktop machine on VPN:
SQL Developer CSV Export: 8m50s
FME Desktop Reader: 72m
Remote FME Server:
FME Server Reader: 32m9s
The most interesting fact is that the SQL Developer export suffered almost no performance impact even when it was executed over a high latency network link whereas the FME reader was devastated.
Here is a Wireshark capture of the network packets of the remote desktop machine over VPN:
When running a CSV export with SQL Developer, the database server sends large 1360 byte payloads back to back and the client machine only needs to acknowledge occasionally.
The equivalent fetch from FME Desktop seems to be endlessly handshaking with the database server using small 172-175 byte packet payloads and only occasionally receives a large 1360 byte data payload:
Anyone else more familiar with FME Oracle readers and SQL*Net experience this kind of network behavior? What data transfer optimization is SQL Developer taking advantage of that FME Reader isn't?
Oracle SQL Developer 18.1.0.095
Oracle SQL*Net 18
Oracle Database 12.1.0.2
FME Desktop 2019.0.2/Win10
FME Server 2019.0.2/Win Server 2019