All application environments are different. Although the out-of-the-box configuration of any application can satisfy basic processing needs, extended uptime with fewer maintenance windows, increased numbers of users, and usage patterns can result in performance issues. To configure the system appropriately, first evaluate the specific environment and application usage.
Although scaling the Blackboard Learn deployment supports an increased number of users without adversely affecting performance, system performance can be further improved to achieve higher service levels, reduce risk, and improve user perceptions of performance, which will in turn increase user satisfaction and reduce user abandonment. To do so, optimize the performance of the components in the application tier as well as the performance of the database.
In general, Release 9.1 is more responsive and scalable than both Release 9.0 Service Pack 3 and Release 8 Service Pack 6 across all supported platform configurations. Blackboard completed more than 2000 hours of performance tests on Release 9.1, and this number will continue to increase as Blackboard produces Service Packs against the Release 9.1 code line.
Optimizing Application Tier Performance
To achieve the best performance in the application tier, optimize each of these components.
The web server and the application container must reside on the same server.
- Web server: The primary purpose of the web server in the Blackboard Learn architecture is to proxy dynamic business logic and static content requests to the Tomcat application container over HTTP or secure HTTPS. In Blackboard Learn, the web server used depends on the operating system environment. In a Microsoft® Windows® environment, the web server is Microsoft Internet Information Server (IIS). In a UNIX® environment, the web server is Apache™ HTTP Server. To learn more, see Configuring Apache HTTP Server or Configuring Microsoft IIS.
- Application container: Apache™ Tomcat is an open-source Java application container that is packaged with Blackboard Learn for all operating systems. To effectively optimize Tomcat performance, it is necessary to understand the role of the Java Virtual Machine (JVM™) and container components, such as execution threads and JDBC connections.
- Java Virtual Machine (JVM™): The Java 2 Platform, Standard Edition (J2SE™) JVM is the most critical component of the Java platform because it manages memory allocation and controls how the container handles incoming requests. If the system has been deployed using application tier clustering, the application tier might include multiple servers or JVMs that need to be optimized.
Optimizing Database Tier Performance
In Blackboard Learn, the database used depends on the operating system environment. In a Windows environment, the database must be Microsoft SQL Server®. In a UNIX environment, the database must be Oracle®. To learn more, see Pre-Installation Recommendations in a SQL Environment or Pre-Installation Recommendations in an Oracle Environment.
Although Blackboard provides general optimization information, a particular environment might benefit from different settings.
Optimizing Addressable Memory Using 64-Bit Deployments
Blackboard Learn Release 9.1 is the first release to offer an entire application and database footprint using 64-bit addressable memory. To take advantage or more addressable memory, Blackboard strongly encourages clients to deploy using 64-bit operating systems (OSs) and sub components (Java and SQL Server or Oracle). As part of the 64-bit deployment, Blackboard encourages clients to take advantage of larger Java Virtual Machines (JVMs) that range from 2GB to 16GB in size. The preferred size is 4GB, but performance testing has been conducted with acceptable performance as high as 16GB.