Problème
Votre site Web génère des erreurs similaires à celle ci-dessous indiquant que la taille maximale du pool a été atteinte :
An exception of type 'System.InvalidOperationException' occurred in System.Data.dll but was not handled in user code 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.
Cause
Lorsque vous recevez ce message, cela signifie que votre site Web utilise toutes ses connexions SQL Database disponibles (la limite par défaut est de 15 connexions par installation DotNetNuke). En moyenne, un site Web DotNetNuke s'exécutant correctement n'utilise que 2 à 3 connexions SQL. Une limite de 15 connexions par installation devrait donc être plus que suffisante pour permettre à un site Web de fonctionner normalement. Si vous recevez cette erreur, cela est généralement dû à un bogue dans un module de votre site Web qui ouvre des connexions au serveur SQL et ne les libère pas une fois terminées.
Dans certaines circonstances, cette erreur peut également être causée par un site Web soumis à une charge de traitement extrêmement lourde ou à une charge transactionnelle extrêmement lourde.
Résolution
Si vous êtes dans un environnement d'hébergement partagé, vous devez mettre à jour tous les modules vers leur dernière version afin de vous assurer que vous utilisez les modules les plus récents. Si l'un de vos modules atteint le maximum de votre pool de connexions, le développeur a peut-être résolu le problème avec une mise à jour. Lorsque cette erreur se produit, les clients d'hébergement mutualisé doivent contacter le support technique. Si le problème se produit activement, nous pouvons être en mesure de fournir des informations concernant le module à l'origine de l'erreur.
Si vous êtes sur un serveur dédié et que vous avez simplement besoin de plus de connexions SQL, vous pouvez mettre à jour les entrées "taille maximale du pool" dans les deux chaînes de connexion en suivant ces instructions :
- Connectez-vous à votre serveur à l'aide du Bureau à distance.
- Ouvrez Poste de travail (Windows - E) et accédez à C:\inetpub\vhosts\[domaine]\httpdocs
- Double-cliquez sur le fichier web.config . Cela peut simplement être répertorié comme web si la structure du fichier est définie pour masquer les extensions. Cela ouvrira Visual Basic ou un éditeur similaire.
- Trouvez vos chaînes de connexion, elles ressembleront aux exemples ci-dessous :
- Modifier la taille maximale du pool=X valeur à la taille de pool requise.
- Enregistrez et fermez votre fichier web.config.