Establishing a connection from the application container to the database server is time consuming. As a result, JDBC connection pooling is widely used in Blackboard Learn.
Blackboard Learn has multiple schemas that are used for a variety of functions. The core schema is BBLEARN (legacy: BB_BB60), which is where the bulk of key database objects and access reside. The BBLEARN_ADMIN schema is an administrative schema accessed by the start-up utilities and some administrative functions. The BBLEARN_STATS (legacy: BB_BB60_STATS) schema is an operational data store that is used for reporting to ease demand on BBLEARN (legacy: BB_BB60). BBLEARN_STATS (legacy: BB_BB60_STATS) is not accessible using the Blackboard Learn User Interface (UI).
Connections from the Apache Tomcat to the database are managed using parameters in the bb-config.properties file.
This section provides recommended settings for the four key bbconfig.database parameters.
For steps to edit the bb-config.properties file, see bb-config.properties File.
Database Parameters in bb-config.properties
The following table describes each parameter and its recommended setting.
|Parameter Name||Description||Recommended Setting|
|bbconfig.appserver.minthreads||Minimum number of threads created for Tomcat||100|
|bbconfig.appserver.maxthreads||Maximum number of threads allocated to Tomcat for 64-bit 4 GB RAM in the heapspace |
This setting limits the number of requests that can be simultaneously processed by Tomcat.
This number should match the bbconfig.unix.httpd.maxclients setting for Apache on UNIX platforms.
To learn more, see Sizing the Maximum Thread Count.
|bbconfig.min.heapsize.tomcat||Minimum heap size allocated to the Tomcat JVM||1/2 of or equal to max.heap size.tomcat|
|bbconfig.max.permsize.tomcat||Maximum perm space allocated to the Tomcat JVM||320m|
|bbconfig.max.stacksize.tomcat||Stack size for each thread in the Tomcat JVM||170-300k|
|Additional settings used to configure the JVM |
To learn more, see Using Non-Standard (-XX) JVM Arguments.
|Maximum number of connections waiting to serve database requests |
The BBLEARN (legacy: BB_BB60) connection pool is the primary database connection pool interface for the Blackboard schema in Tomcat. Blackboard recommends that this value be sized conservatively based on need and usage. Start with a maximum value of 100, and then increase the maximum size as the Tomcat application threads increase.
Optimally, this value should be equal to, but not greater than, the bbconfig.appserver.maxthreads parameter setting.
JDBC connection consumption is a symptom of a performance issue or degradation. Increasing the JDBC connection count will not always solve a performance issue. Performance issues should be diagnosed by identifying bottlenecks at their source.
|Number of connections waiting to serve database requests||10|
|Initial number of connections waiting to serve database requests for SQL Server||10|
|bbconfig.database.instance.timeout||Time window in which database transactions must be processed before a timeout occurs||60-300|