Consultor Eletrônico



Kbase P98829: What value should be set for -PendConnTime?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/31/2010
Status: Verified

GOAL:

What value should be set for -PendConnTime?

FACT(s) (Environment):

All Supported Operating Systems
Progress/OpenEdge Versions

FIX:

The value (in seconds) should be as low as possible, and between 5 and 15 would be usual. If -PendConnTime isn't set, then pending connections will time out on the basis of the tcp keepalive value, which by default is 2 hours.

The sequence of events when a remote client connects -
1. Client connects to broker
2. Broker spawns remote server, redirects client to server, increments reservation count for the server
3. Client should connect to server

If a network issue then prevents the client connecting to the server and -PendConnTime isn't used, the connections will pend for as long as the TCP keepalive is set for. If -PendConnTime is used, then -

4. Server regularly checks the time stamps of the reservation count.
5. If no connection has occurred within the time specified by -PendConnTime, the server informs the broker
6. Broker decrements the reservation count, and the slot on the server is freed so that it would be available to receive connection from another client if required.

In normal operation the redirected client should moreorless instantaneously succeed in connecting to the remote server, so the assumption is that if the client can't connect to the server after 5 seconds due to a network problem, that problem will still be there after 10, 20, 30 seconds, 1 minute, 1 hour. The -PendConnTime can compensate for this behaviour as quickly as possible.

As of 10.1C03 and 10.2A01, this parameter will now be acknowledged and used by _sqlsrv2 processes when dealing with SQL clients. Prior to these versions, this parameter only addressed 4GL client connection issues. This will now also be the default behavior for the _sqlsrv2 process. This means that whether the database startup parameter -PendConnTime is used or not, a default value of 30 seconds has been configured for the _sqlsrv2 process.