Documente Academic
Documente Profesional
Documente Cultură
CONTENTS
KeepAlive
Setting the keepalive intervals for TCP/IPv4 to prevent network disconnections on different
OS:
KeepAliveTime
Key: Tcpip\Parameters
Value Type: REG_DWORD - Time in milliseconds Valid Range: 1 - 0xFFFFFFFF
Default: 7,200,000 (two hours)
Red Hat:
# chkconfig sysctl on
Suse:
# chkconfig boot.sysctl on
First enable keepalive functionality in DP. So set this variable on the /opt/omni/.omnirc file:
OB2IPCKEEPALIVE=1
Then run these commands:
# ndd -set /dev/tcp tcp_keepalive_interval 60000
Changing keepalive settings on other OS's requires a process similar to linux, first enable
keepalive functionality in DP by updating the
/opt/omni/.omnirc file with this variable:
OB2IPCKEEPALIVE=1
Then check this link to find out how to set the time and interval at the OS level:
http://www.starquest.com/Supportdocs/techStarLicense/SL002_TCPKeepAlive.shtml
Additional Information
When DP has an open connection it may be disconnected by the operating system or any
hardware that is in the data transport chain (like a firewall).
Typical disconnection timeouts are 1 or 2 hours depending of the platform, firewall or
complex network. When such a silent disconnection occurs DP will lose the connection and
not always be able to recover.
To keep such a connection alive we have a possibility to open the connection with a
'keepalive' option. Then the lower level IPC layer will send out 'keepalive' packages to
stimulate the connection in order to prevent a silent disconnection.
The 'keepalive' packets are part of TCP protocol and are transparent to the program opening
or using the connection. They are handled by the system and are not seen by application.
It must be clear that connections with 'keepalive' functionality are not a property of DP but
from the lower level system code.
To open the connections with the 'keepalive' option the user must set
OB2IPCKEEPALIVE=1 in the omnirc file of each host in the cell that can potentially suffer
from a disconnection.
The issue is that by default the 'keepalive' interval (the time between two packets) is set to
two hours on many systems, rendering them ineffective in some cases if other parties control
the connection. This interval can be changed.
Set the 'keepalive' package transmit to 15 minutes = 900000 If this solves the disconnection
issue you know the connectivity layer disconnects earlier than the default system value.