On Apr 28, 2008, at 9:59 AM, Alan Chaney wrote:
David Smith wrote:
No, I have at most 20 idle connections, that's goes right, but my
boss want
less idle connections to avoid to overload the database server. So
there
isn't way to close an idle connection to remove the relative
process?
If so, I will set maxIdle="2" and everyone will be happy
(expecially me :)
I'll bet money the added, idle postgres connections are just
sleeping while they wait for work. Given idle connections
contribute virtually no additional load, don't see his argument
that idle connections contribute to a database overload. If the
minor increase in overhead due to sleeping threads actually
overloads the database, you need to let your boss know the server
hardware is way too frail for production use and needs to be
upgraded.
--David
Agreed. I use postgres and with ps alx | grep postgres each
connection shows as idle (when its not being used!) and consumes
about 140k bytes of memory. On a modern server that can hardly be
considered as any use at all!
The database server will typically have a maximum number of
connections. For example our Oracle server has been set at 220 for
sometime. We do well with a connection pool of 8 per tomcat server.
And with a database server the web side is not the only customer.
maxidle="2" is certainly too small, and maxidle="20" too large.
Enrico I would negotiate with your boss and dba about what that value
should be. They need to understand the trade-off. The dba may be able
to increase the number of connections on that end.
Regards,
Dave
Alan Chaney
Enrico Sasdelli wrote:
Thanks for reply,
I see you have maxIdle="20". Do you have more that 20
connections sitting idle? Is this really that much of a
concern? As long as the connections are released (closed) and
returned to the pool, I don't see the problem.
No, I have at most 20 idle connections, that's goes right, but my
boss want
less idle connections to avoid to overload the database server. So
there
isn't way to close an idle connection to remove the relative
process?
If so, I will set maxIdle="2" and everyone will be happy
(expecially me :)
Thank you,
Enrico
The entire idea of a connection pool is the system keeps around a
set of idle connections for borrow. When you code get's a
connection, it comes from the pool of idle connections and
returned when you close the
connection. This speeds up your application by elliminating the
overhead of contacting the server and constructing a new
connection whenever you call for one. The pool just grabs a pre-
made one off the shelf for you.
--David
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
!DSPAM:4815ddca16721381456296!
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]