Question on database connection

A new connection is established for each SQL call. Database connectors typically have timeout settings. You can increase timeouts in connector settings.

It's hard to say, there are several moving parts here. Database, network, driver, EasyMorph - anything can be a bottleneck under certain conditions.

Does your source database have an SQL command to dump a table into a CSV file? It might be better to do the export on the database server, and then only transfer the output files to your local machine over SFTP or in a similar way.

Also, when the source is slow it may help to parallel execution. Instead of having one iteration, split batches into two derived tables (odd in one, even in the other) and run two iterations in parallel. Independent derived tables are executed in parallel. See here: Derived tables synchronisation - #2 by dgudkov