Re: Troubleshooting Timeout expired. All pooled connections were in use and max pool size was reached.



while a real high volume site (100+ concurrent users) might see and require the pool sizes to be bumped up, usually its a coding error. the database connections are not closed and returned to the pool. be sure all code has a try/finally block that closes the connection or use the using statement.

be sure connection are local, and never passed around, placed in session or global variables. the routine that opens the connection, should close before exiting. failure to close on error is a common defect.

-- bruce (sqlwork.com)


jobs wrote:
Re: Troubleshooting Timeout expired. All pooled connections were in
use and max pool size was reached.

New webservers. win2003. IIS6. asp.net 2.0/ sql server 2005 and Oracle
9i through a 64 bit Oracle client. Everything working fine until this.

I started getting these errors as the new website activity started to
heat up.

Timeout expired. The timeout period elapsed prior to obtaining a
connection from the pool. This may have occurred because all pooled
connections were in use and max pool size was reached.

After inspection of some of my methods I did see a few returning data
before disposing and closing.

I noticed these in the event log:

Event message: An unhandled exception has occurred.

The problem went away (at least for now) when I cycled the
applicationpool in IIS for the site.

A few dumb questions.

1. I did not see any significant activity on the webserver. How can I
troubleshoot this? Any way to see how many open connections? sessions
on the Web server? etc.

2. Looking at application pool setting, I thought I'd set down the
idle type before it recycles idle process to 5 minutes from 20
minutes. Good idea? what other settings might improve things?

Eventually I plan to loadbalance this webserver. It's currenty on
failover to an identical webserver.

Thank you for any help or information!

.



Relevant Pages

  • Re: Close and Dispose argument
    ... > fact that even Microsoft is not clear on the issue. ... > connections from the pool is still a debate. ... > method removes the conneciton from the connection pool". ... > Your issue was forwarded to us here at Microsoft Courseware Support. ...
    (microsoft.public.dotnet.framework.adonet)
  • Close and Dispose argument
    ... here is an email conversation between me and Microsoft ... connections from the pool is still a debate. ... Programming with Microsoft ADO.NET" module 2, p 18: "Calling the Dispose ... method removes the conneciton from the connection pool". ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: MinPoolSize behaviour
    ... Min Pool Size, The first time you open a connection we will open the 1 ... > Is the pool created forever? ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: Q:Multithreaded ADO.Net Connections Are Non Pooled?
    ... different you get a new pool. ... > the process/app domain differences, does running on a thread created by ... If you're using SSPI, each connection must be ... >> connect to the SQL Server machine, ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: Connection pooling and changed password issue
    ... There is no "clear the pool" or "drop the pool" until ADO.NET 2.0. ... > Hi - so a previously made connection with the old credentials will still ... > "William Vaughn" wrote: ... >>> username/password then the connection pool will be used and the same ...
    (microsoft.public.dotnet.framework.adonet)