cancel
Showing results for 
Search instead for 
Did you mean: 

IIS Timeout Due To Max Pool Size Being Reached

Former Member
0 Kudos

Every once in a while, IIS stops serving my Web Tools 2007.0.625 website, and, after 30 seconds of nothing, instead delivers a very unfriendly ASP.NET message:

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.

I run a scheduled task that resets IIS every 24 hours just in case this happens, but it seems that it's taking about six hours to happen, and I imagine that this will increase as traffic to my site increases too. I don't want to have to reset the website every hour just because of a leak - doing so would wreak havoc on customer satisfaction.

From the limited understanding I have of SQL connectivity persistence, this happens when connections are not explicitly closed in Web Tools code (If this is the case, it seems that an upgrade to SP1 is in order - can someone confirm or deny this?). My best guess is that the server has some stray connections that aren't being closed, and so they get hung onto for the open connection timeout period (20 minutes?) until they're released automatically by a type of SQL connection garbage collector. In the meantime, there are only a limited number of connections available for pooling like this, and they get eaten up and hogged by a first-come-first-served process.

I don't want to set the max pool size to something high, as it might bog the machine down too much. Of course, not pooling connections is suicide. Has anybody else seen this? What should I do?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Michael,

This was a known issue that is solved in Patch 11 of SP0. Basically connections are not closed to the Db from Web tools, and after a period of time, which can be anywhere from 1 hour to several days depending on the amount of traffic the site gets, this timeout will occur as the connection pool has reached it's limit.

If you cannot upgrade, you'll have to set up some kind of script that will reset the Web site every hour, so the connections are released. You don't have to restart IIS(I believe), but you can restart the individual Web tools website.

If you do decide to upgrade I would upgrade to SP1 Patch 2(soon to be released), as there are other performance enhancements in SP1

Former Member
0 Kudos

Is there a way to capture exactly when the timeouts are starting? Does IIS capture this in a log file somewhere? What about Web Tools itself?

Former Member
0 Kudos

I believe there are event log events recorded for it

Former Member
0 Kudos

Bryce, forgive my ignorance, but these event logs - where would they be stored? I thought they were in the %windir%\System32\LogFiles folder, but I'm not sure whether they're in the HTTPERR subfolder or the W3SRV1 subfolder. If either one is the case, how can I interpret the error logs? They're being captured in standard log file format, but I've briefly reviewed each (and they're both pretty big) and neither one of them show anything that seems to jump out at me.

Am I looking in the wrong spot, or do I just not know what to look for?

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Michael,

This sounds like the same problem that I was experiencing. Within this thread I detailed my workaround:

Martin.

Former Member
0 Kudos

Martin, I checked the thread you referenced, and this is a completely different error. Perhaps you meant another thread?

Former Member
0 Kudos

My apologies Michael, I thought if I copied and pasted the URL when a thread was open that it would take you there. If you search the forum for:

w3wp.exe not responding

This should find the relevant thread.

Former Member
0 Kudos

Thanks Bryce.

The quest to persuade my company to upgrade continues...