TCP request queuing provides the ability to queue connection requests that exceed the capacity
of connections for a pool, pool member, or node, as determined by the connection limit.
Consequently, instead of dropping connection requests that exceed the capacity of a pool, pool
member, or node, TCP request queuing makes it possible for those connection requests to reside
within a queue in accordance with defined conditions until capacity becomes available.
When using session persistence, a request becomes queued when the pool member connection limit
Without session persistence, when all pool members have a specified connection limit, a request
becomes queued when the total number of connection limits for all pool members is reached.
Conditions for queuing connection requests include:
- The maximum number of connection requests within the queue, which equates to the maximum
number of connections within the pool, pool member, or node. Specifically, the maximum number of
connection requests within the queue cannot exceed the cumulative total number of connections
for each pool member or node. Any connection requests that exceed the capacity of the request
queue are dropped.
- The availability of server connections for reuse. When a server connection becomes available
for reuse, the next available connection request in the queue becomes dequeued, thus allowing
additional connection requests to be queued.
- The expiration rate of connection requests within the queue. As queue entries expire, they
are removed from the queue, thus allowing additional connection requests to be queued.
Connection requests within the queue become dequeued when:
- The connection limit of the pool is increased.
- A pool member's slow ramp time limit permits a new connection to be made.
- The number of concurrent connections to the virtual server falls to less than the connection
- The connection request within the queue expires.