Connection Pool and Database Sizing

Last Updated : Dec 06, 2022 |

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