L
lecuyer
Guest
What kind of client are you using (abl, openclient, ..) ? When you query the client connections, what do you see regarding the distribution of the connections among the various clients? Do you see a lot of connections from the same user, or from different users? In a state-free application the client has a pool of socket connections to an appserver. These connections are created 'on demand' based on the availability of existing connections already in the pool ... if no connections are available, and the pool hasn't reached its upper limit (def=unlimited), then a new one is created. If an existing connection is available, it should be reused. Generally speaking, we don't physically disconnect the sockets, on the principle that they are likely to be reused soon. Thus, the size of the pool should roughly correspond to the maximum number of simultaneous requests from that client on that server. Given that, a socket connection pool that is gradually increasing in size would seem to indicate a client-side resource leak. The one major caveat to this is the use of remote persistent procedures. When a remote persistent procedure is created, a separate socket connection is made to the appserver, and is reserved for running internal procedures on that persistent procedure. All internal procedures This socket is not released into the pool to be reused until the remote persistent procedure is deleted. You mentioned that only 2 agents are in SENDING state, indicating that they are running procedures. What state are the other agents in? Are they AVAILABLE or in "BUSY" state (not sure exactly what the value is in SF mode)? If this is an ABL client, are you running async remote persistent procedures? Are the async procedure handles being propertly disposed of? This might also account for this.
Continue reading...
Continue reading...