I was having performance issues with the SQL Monitor Base monitor, so I had the resources on the base monitor server increased. Now the base monitor is frequently timing out.

The significant part of the error message I am receiving is:

\"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 have many database instances that this base monitor is connecting to, so beyond the obvious answer of scaling out with another base monitor and repository, are there any configuration options to increase these values.

The connection pool is a finite number of connections that the SQL Server instance is allowed to handle. In some cases these connections can all be used up, either because they are all activate, or because they have not been correctly released and returned to the pool.

The error that you indicate shows that the error is affecting the SQL Monitor Base Monitor service querying the Data Repository database.

Something to try is to increase the number of connections in the connection pool. The exact method for doing this differs depending on the version of SQL Server though. This stackoverflow post talks about SQL Server 2008

Thanks for the response Chris. Unfortunately the link you sent is not helping with the problem. It seems to imply that I need to bump up the user connection settings at the database server; however, it is already configured to 0 (0 = unlimited). All research I have performed on this problem, indicates that the default limit for ADO.Net is 100 connections, and when I run a netstat from the base monitor and count the numbers of connections into the repository DB is exactly at 100. The research indicates that this can only be increased in the application.

For the benefit of anyone reading this thread, I was able to resolve this issue in a support ticket with Red Gate.

Here was the resolution:

"Chris Kelly (Support) Dec 17 16:39 (GMT) Thank you for your reply.You could try the following.â€¢ Stop the SQL Monitor Base Monitor serviceâ€¢ locate the file: RedGate.Response.Engine.Alerting.Base.Service.exe.settings.configfound here on the SQL Monitor Base Monitor machine: C:\\ProgramData\\Red Gate\\SQL Monitor 3â€¢ Make a copy of the file just in case you decide to reverse the changes. Any incorrect changes to this file can prevent the service from starting.â€¢ locate the <connectionStrings> tag, should be around line 110.â€¢ in the line starting "<add name="DataConnectionString"" find the entry "Packet Size=4096;" and add the setting "Max Pool Size=1000;"â€¢ Save the file and Restart the SQL Monitor Base Monitor service.The change can easily be reversed by deleting the edited file and renaming the copy. You can also adjust the "Max Pool Size" as you see fit.Chris Kelly Technical Support Engineer"[/i]