Database Connections

Each deployed application server has a default number of database pool connections available. By default this total number is 60. In distributed systems, size connections by multiplying the number of application servers deployed in the system by 60 to get a starting point for the total number of required database connections.

This is just a general starting point and as demand on the system grows, various web and Redcell Synergy components requiring connections naturally increase.

The database connection pools configuration file locations for Oracle and MySQL appear below with their default max connection pool sizes. These numbers determine the overall pool requirements per application server.

Oracle database file locations:

Oware connection pools

/oware/jboss-5.1/owareconf/oracle-ds.xml

corepool uses default max-pool-size (5)

jobpool uses default max-pool-size (10)

userpool uses default max-pool-size (25)

Performance connection pools

/owareapps/performance/server/conf/pm-oracle-ds.xml

pmpool uses default max-pool-size (10)

Redcell connection pools

/owareapps/redcell/server/conf/rc-oracle-ds.xml

eventhistory pool uses default max-pool-size (10)

MySQL database file locations:

Oware connection pools

/oware/jboss-5.1/oware/conf/mysql-ds.xml

corepool uses default max-pool-size (5)

jobpool uses default max-pool-size (10)

userpool uses default max-pool-size (25)

Performance connection pools

/owareapps/performance/server/conf/pm-mysql-ds.xml

pmpool uses default max-pool-size (10)

Redcell connection pools

/owareapps/redcell/server/conf/rc-mysql-ds.xml

eventhistory pool uses default max-pool-size (10)

To calculate total number of connections:

Add the number of pool connections per server times the number of deployed servers = total number of max database connections

For example, if you use 12 servers, the suggested total is 12 x 60 = 720 connections. Again, this is just a general starting point and to account for an natural increase in database connections, best practice is to increase that number by at least a factor of at 5 for a total of 3600 connections.

MySQL’s online support suggests that you can create as many as 10,000 connections depending on the amount of RAM available: “Linux or Solaris should be able to support at 500 to 1000 simultaneous connections routinely and as many as 10,000 connections if you have many gigabytes of RAM available and the workload from each is low or the response time target undemanding.”

Oracle Database Connections

You may need more connections for Oracle since it can recursively consume database connections internally. Refer to the following for more about this: http://tech.e2sn.com/oracle/oracle-internals-and-architecture/recursive-sessions-and-ora-00018-maximum-number-of-sessions-exceeded