Max Pool Size Error
Issue
Your website is generating errors indicating that the maximum pool size has been reached:
<
div
style
=
"background-color: #ffffff;"
><
font
style
=
"margin-left: 0px !important; "
><
code
style
=
"color: #000000;"
>An exception of type 'System.InvalidOperationException' occurred in System.Data.dll but was not handled in user code</
code
></
font
></
div
>
<
div
style
=
"background-color: #f8f8f8;"
><
font
style
=
"margin-left: 0px !important; "
><
code
style
=
"color: #000000;"
>Additional information: 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.</
code
></
font
></
div
>
Cause
When you receive the "max pool size was reached" message, it means that your website is using all of its available MS SQL database connections. The default limit is 15 connections per DotNetNuke installation. On average, a properly executing DotNetNuke website uses only 2-3 SQL connections so a limit of 15 connections per install should be more than enough to allow a website to operate normally. If you are receiving this error, this is generally caused by a bug in a module on your website that is opening connections to the SQL server and not releasing them when complete.
Under some circumstances, this error can also be caused by a website being under extremely heavy processing load or extremely heavy transactional load.
Resolution
- Go to the site that is having the issue, and refresh the site a number of times on the page that contains the module you believe is suspect.
- Open SQL Management Studio.
- Open the Activity Monitor.
- In Management Studio 2005, you will find it under Management.
- In Management Studio 2008 and 2012 it can be found by right clicking the server itself.
- With activity monitor open you should see all connections that are currently open.
- Sort by login and you should see numerous connections from the site.
- Right click on a few of these and select Details, and it will show you the last command sent.
- Look for a common command between all of the connections you looked at. This should show you what module is failing.
If you are in a shared hosting environment, you should update all modules to their latest version in order to ensure that a module is not maxing out your connection pool. When this error occurs, please contact technical support and if the issue is actively happening, we may be able to provide information regarding the module causing the error.
If you are a dedicated server customer and simply need more SQL connections, you may update the max pool size entries in both connection strings to increase the number of connections available.
Notes
As of 3/1/2010, The current version of the DotNetNuke Cart module has a bug that will cause it to open SQL connections and not close them. Until this issue is resolved by DotNetNuke Corporation, the cart module will crash any website that it is installed on.
Article ID: 148, Created: April 6, 2012 at 9:31 AM, Modified: August 25, 2014 at 2:38 PM