Data ports are used by data connections to bypass the tunneling and
establish direct connection, this enhances speed. However, if all data ports
are in use, data does get tunneled but the speed is comparatively slower
although the jobs continue to run. The only exception is when the option to
bind open ports only is set to 1,which fails the request if no data ports
are available to bind to a new connection.
TCP takes care of sending keepalive interval, however having a small
keepalive interval does not improve the network performance or decrease
connection drops happening otherwise. The keepalive interval from the
application layer is required only when there is a firewall in between that
severs idle connections from time to time. Setting this to 15 or 30 min is a
recommended value. Make sure not to change this value to a distinctively
small numbere as it could adversely affect the performance of the service.
If a tunnel setup failed it is likely to be a network issue like the
service on the other end is still coming up. Giving it a reasonable time is
what will increase the chances of successful connection in subsequent
attempts. Having a small tunnel interval does not bring up tunnels back any
faster. For a persistent tunnel if the other end is not ready the service
will keep trying to establish a connection with very short interval which
will directly affect its performance. Giving this parameter a very large
value is not advisable as on demand tunnel should be brought up within
timeout of the connection request (if the tunnel does not already exist).
The timeout is typically not less than 2 min. Having a tunnel interval of 30
sec gives three attempts.