Opening a database connection is a resource intensive and time consuming operation.
Connection pooling increases the performance of Web applications by reusing active database
connections instead of creating a new connection with every request. Connection pool manager
maintains a pool of open database connections. When a new connection requests come in, the pool
manager checks if the pool contains any unused connections and returns one if available. If all
connections currently in the pool are busy and the maximum pool size has not been reached, the new
connection is created and added to the pool. When the pool reaches its maximum size all new
connection requests are being queued up until a connection in the pool becomes available or the
connection attempt times out.
Connection pooling behavior is controlled by the connection string parameters. The
following are four parameters that control most of the connection pooling behavior:
Connect Timeout - controls the wait period in seconds when a new connection is requested,
if this timeout expires, an exception will be thrown. Default is 15 seconds.
Max Pool Size - specifies the maximum size of your connection pool. Default is 100. Most
Web sites do not use more than 40 connections under the heaviest load but it depends on how long
your database operations take to complete.
Min Pool Size - initial number of connections that will be added to the pool upon its
creation. Default is zero; however, you may chose to set this to a small number such as 5 if your
application needs consistent response times even after it was idle for hours. In this case the
first user requests won't have to wait for those database connections to establish.
Pooling - controls if your connection pooling on or off. Default is true.
Wednesday, September 10, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment