Connection Pool and Database Sizing

Last Updated : Dec 06, 2022 |
Prolog information
The connection pool is configured as shown below in $POM_HOME/config/PIMHibernate.cfg.xml file.
<property name="hikari_PIMCD_Active">100</property>
<property name="hikari_PIMCM">100</property>
<property name="hikari_PIMADMIN">100</property>
<property name="hikari_PIMAGT_Active">100</property>
The default value of the connection pool is 100.
Connection Pool size in POM has to be set by considering following parameters:
  • Total number of POM outbound ports
  • Number of concurrent campaigns
In POM for every 20 outbound ports, one campaign worker thread is created for every POM server and minimum two threads are created for each job. So for 30 jobs, the default value of 100 is sufficient for a same operation. For more than 30 jobs, you are required to set the connection pool to a higher value.
The following table provides information about what minimum pool size one must set for different campaigns and how many corresponding database connections/sessions it opens on the POM database.
Number of Ports
Number of concurrent jobs
Campaign Manager Threads
Connection Pool Size on POM
Connections needed on Database server for
Single POM Server
Two POM Servers
Three POM Servers
Four POM Servers
Five POM Servers
100
1
5
100
400
800
NA
NA
NA
100
5
15
100
400
800
NA
NA
NA
200
5
15
100
400
800
NA
NA
NA
200
10
30
100
400
800
NA
NA
NA
1000
5
50
100
400
800
1200
NA
NA
1000
10
50
100
400
800
1200
NA
NA
2000
10
50
100
NA
800
1200
NA
NA
2000
20
100
100
NA
800
1200
NA
NA
5000
10
250
100
NA
NA
NA
NA
2000
5000
20
250
100
NA
NA
NA
NA
2000
5000
50
250
150
NA
NA
NA
NA
2200
Note:
Set the hibernate.hikari.maximumPoolSize to more than the minimum required value for the same operation.
POM service restart is required after making changes to the $POM_HOME/config/PIMHibernate.cfg.xml file.
If you have co-located Avaya Experience Portal Report Database on the POM database, then you must have a few more database connections.
Similarly, for an agent based job, POM creates a state worker thread for every 5 agent licenses allocated to the job. So, for 100 agents and one concurrent job, the number of campaign manager threads must be 20. For 20 concurrent jobs and 100 agents, number of campaign manager threads is 20. For agent based jobs, number of campaign manager threads does not depend on number of jobs.

Transactions per second (TPS) and Input/Output Operations per second (IOPS) values

The following table indicates the Transactions per second (TPS) and Input/Output Operations per second (IOPS) values measured during the performance runs in the lab conditions:
Note:
These numbers may vary depending on the type of hard disk, network bandwidth, and type of database.
Agents
DB Type
Transactions per second (TPS)
Input/Output Operations per second (IOPS)
Up to 500
POM DB
1600
75000
Up to 500
Ops DB
250
75000
Up to 1000
POM DB
1600
150000
Up to 1000
Ops DB
500
150000