Subject | Re: [firebird-support] Re: why does our firebird servers process list look like this |
---|---|
Author | Mark Rotteveel |
Post date | 2010-10-29T07:57:25Z |
> Yes it is SAP BusinessObjects Infoview. Thanks for doing the googling.They are not disappearing because the server is keeping them in a connection pool for re-use. In highly concurrent server applications, it is usually considered cheaper to keep a connection open so it is available for use, than to open a connection when it is really needed; especially in highly concurrent applications.
> But why are these connections not disapearing. After the report is run or
> at the very least after the person has logged out of infoview, why arent
> they disapearing?
In java connection pooling usually works like this:
A connection pool is defined with a minimum (and usually a maximum) number of connections. Usually, at creation of the pool the minimum number of connections are created immediately.
When another part of the program requires a connection, it is checked out of the pool. When the requestor is done with the connection, it closes it. From the perspective of the requestor it now looks like the connection is closed, but it is returned to the connection pool for reuse
When there are no available connections in the pool (and the maximum hasn't been reached yet), a new connection is created. Is the maximum reached, the requestor has to wait for a connection to come available (with a timeout).
Only if a connection has been idle in the pool for a specified time it will be closed; if this lowers the number of connections below the specified minimum, a new connection is usually created (although some implementions of connection pools defer this until they are first requested).
So if you think the number of connections kept open is too high, you might want to look at the configured minimum and idle timeout of connections in the pool, both might be too high.
--
GMX DSL Doppel-Flat ab 19,99 €/mtl.! Jetzt auch mit
gratis Notebook-Flat! http://portal.gmx.net/de/go/dsl