Concurrent Thread Pool size vs DB Cconnection Pool
We have 600K input records in a pega table, and for each record we need to creat a Work Object. Each work object takes over 30 seconds to be created, as we have a lot of integration.
We will have to have around 200 standard agents in order for us to complete this whole process in a day or so.
For testing I just have created 20 standard agents, and updated the thread pool size in app server to 20. These 20 agents were running simultaneously but the application has become very slow, and other OOTB agents were getting the DB Connection exceptions. I got the DB Connection pooling also increased to 40 and the application seems to be a bit stable now.
Is there any ratio or some sort of relation between the Thread pool size and the DB connections, how to decide on the max value for these resources.
I want to be able to initiate 200 standard agents in PROD and be able to access the application with out much delay/lag.
In general Pega does not provide exact connection pool setting as it depends upon user loads, hardware used and resources available to application.
Typically, if the number of the connections is less than the number of threads, some of the thread maybe waiting for a connection thus making the connection pool a bottleneck. So, it should be equal at least the number the exec threads (thread pool size).
In your case It is suggested to have minimum 200 connections specific to 200 standard agents and in addition to that get those values from application server administrators since it depends upon user load, system resources, hardware used etc.