Q: My locally installed Targetprocess application is slow or hangs. I see the following error messages in my application log:
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.
A: You are using the local version of the software and we, the Targetprocess support team, do not have access to the servers and direct ways to resolve it. Please forward this to your Database Administrator with some recommendations from us.
Sometimes it could just be bad luck hitting the application at peak load. The system may not have had time to complete data processing. It is worth trying to perform the action again.
If the issue is still there, then the error might be caused by problems with connection between the Targetprocess application and database server or by the limited performance capabilities of your hardware.
Advanced guidance for database administrators
Check SQL server status and accessibility
Please check that the SQL server is up and running. Also please check the connection to it from the server where the Targetprocess application is hosted.
Check database connections count
If the server is running, you may want to check the current number of connections to it. The following SQL query may help to get these details:
SELECT DB_NAME(dbid) as DBName, COUNT(dbid) as NumberOfConnections, loginame as LoginName FROM sys.sysprocesses WHERE dbid > 0 GROUP BY dbid, loginame
Detect locks
Also please check whether there are data locks in database.
SELECT DB_NAME(dbid), * FROM master..sysprocesses WHERE spid = (SELECT TOP 1 blocked FROM master..sysprocesses WHERE lastwaittype LIKE 'LCK_M_%') SELECT DB_NAME(dbid), * FROM master..sysprocesses WHERE lastwaittype LIKE 'LCK_M_%'
Terminate locked processes
If the database is permanently locked and the locks do not disappear automatically it may be required to "kill" locked processes manually.
This operation may cause data losses. We recommend letting SQL Server continue to manage the query until it is completed or rolled back automatically. Kill the queries manually only in cases of emergency. Please contact our Support team in such cases if possible.
If no locks are there and there are too many connections the following actions may help:
- On the application hosting server, in IIS, recycle the Targetprocess application pool. This is quick way to fix the problem once, but it does not prevent future problems.
- Setup database maintenance plan
- Increase the number of allowed connections. It will prevent the crashes in future, but the system may start to work slower during peak loads with many connections.
- Upgrade your hardware
Setup database maintenance
Please check that you have database maintenance configured according to our recommendations. That is the most common way of resolving timeouts from our experience.
Increase number of allowed database connections for Targetprocess application
To do so edit web.config file. By default the file is located at
c:\inetpub\wwwroot\TargetProcess2\wwwroot
Edit connection string so that it looks like:
<property name="connection.connection_string">Server=_your_Server_;initial catalog=TargetProcess;Integrated Security=SSPI;Language=English;Max Pool Size=200</property>
You may want to set a different Max Pool limit, depending on the current connections count. Please let our Support team know if you would like to change the limit.
Upgrade your hardware
If you face the issue quite often it might be time to upgrade your DB server as it might not be equipped to bear the load generated by application. Check our system requirements and contact our Support team for additional details.
Migrate to on-demand hosting
When your Targetprocess account is hosted on our cloud servers we take care of database issues. We have the capabilities to detect them early and react in a timely fashion.
Still have a question?
We're here to help! Just contact our friendly support team