Consultor Eletrônico



Kbase P19710: Intermittent disconnection between client and server.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   03/04/2003
Status: Unverified

SYMPTOM(s):

migrated from windows to Linux

migrated application from 8.1x to 9.1x

intermittent disconnection between client and server.

CAUSE:

The Client Time-out parameter allows the server process to determine whether a client has been inactive for a specified period of time, and if so, the server disconnects the client and backs out any related active transactions.

Unix and Linux systems have a KeepAlive option which functions in much the same way. The KeepAlive is a TCP setting, not a Progress parameter. On Unix and Linux based systems, one can use the KeepAlive Timeout utility to achieve essentially the same objective. Following is an excerpt of the Red Hat Online Documentation regarding this and other related utilities:
"
Timeout Timeout defines, in seconds, the amount of time that your server will wait for receipts and transmissions during communications. Specifically, Timeout defines how long your server will wait to receive a GET request, how long it will wait to receive TCP packets on a POST or PUT request and how long it will wait between ACKs responding to TCP packets. Timeout is set to 300, which is appropriate for most situations.

KeepAlive
KeepAlive allows persistent connections (i.e., more than one request per connection), or does not allow persistent connections. KeepAlive can be used to prevent any one client from consuming too much of the server's resources. By default, KeepAlive is set to on, which means that your server allows persistent connections. You could set it to off, which would disable persistent connections. See the MaxKeepAliveRequests directive for a related way of limiting requests per connection.

MaxKeepAliveRequests
This directive sets the maximum number of requests allowed per persistent connection. The Apache Group recommends a high setting, which will improve your server's performance. MaxKeepAliveRequests is set to 100 by default, which should be appropriate for most situations.

KeepAliveTimeout
KeepAliveTimeout sets the number of seconds your server will wait for a
subsequent request, after a request has been served, before it closes the
connection. Once a request has been received, the Timeout directive applies instead.
"

FIX:

Refer to the specific Linux documentation to define and set the options desired to resolve this issue.