Summary: It is possible to install multiple instances of the CAST dashboards on one unique application server should you require. Note:
- This section assumes you are using an Apache Tomcat application server. Please also note that the documentation provided in this chapter is provided by CAST with no guarantees. It is not intended to replace any official Apache Tomcat documentation.
- Please make sure that multiple portals on the same application server are from the same version of the CAST Dashboard Package - it is not recommended to mix CAST dashboards from different versions of the CAST Dashboard Package.
This documentation is not valid for CAST Dashboard ≥ 2.x where you are using ZIP file deployment.
Number of dashboards per Tomcat instance
Tests have shown that it is possible to host up to 10 CAST dashboards on the same instance of Apache Tomcat, provided Apache Tomcat is run under a 64-bit JVM (JRE 7 64-bit (update 9 at least)) and on a supported 64-bit version of Windows.
How to create multiple portals
The easiest way to approach this is to:
- Fully install and configure your dashboards
- Stop your Apache Tomcat application server
- Using Windows Explorer, locate the deployment folder for your initial deployment: CATALINA_HOME\webapps\<dashboard>
- Copy the <dashboard> deployment folder and paste it to the CATALINA_HOME\webapps folder
- Rename the copied folder as required (for example to CAST-HEALTH_2).
- Reconfigure the CAST AIP schema connection information for the newly created dashboard
- Repeat these instructions if you require further dashboards
- Restart your Apache Tomcat application server.
- Access your new dashboards using the following URL - using the renamed deployment folder:
http://YOUR_SERVER_NAME:8080/CAST_HEALTH_2
Tomcat memory configuration for more then 10 CAST dashboards
If you want to run more than 10 CAST dashboards on the same instance of Tomcat, the following memory configuration must be used:
- Stop the Tomcat service and access the Configure Tomcat option available in the Windows Start menu:
- Configure it as follows:
- Initial memory pool = 512MB
- Maximum memory pool = 3072MB
- Thread stack size = 256KB
- Add the MaxPermSize and PermSize options as shown in the image above set to 256MB each
- Restart Tomcat.
Note that:
- this configuration has been tested with 20 legacy CAST Engineering Dashboards (CED)
- CAST did not use shared JARs when deploying the legacy CAST Engineering Dashboards (as described below)
Shared connection resource for multiple dashboard use (optional)
Because multiple dashboard can put a heavy strain on the Apache Tomcat server (particularly if each dashboard is large and complex), CAST recommends configuring Apache Tomcat so that some of the elements required to run the CAST dashboards are shared - this is, however, an optional configuration.
This sharing of resources ensures:
- Better memory utilization: the JVM is not forced to load redundant classes and methods in the Permanent Generation
- Accelerated startup/execution time: Apache Tomcat does not have to search multiple JARs to find a class
- Improved overall experience for users: users can obtain the information they require, when they want it
Background information
By default, the CAST dashboards are installed with a full set of .jar files. In a multiple dashboard scenario, each dashboard thus has an identical set of .jar files and some of these may even be unused. This redundancy can cause a heavy load on the JVM's memory, thus slowing down operations. CAST therefore recommends that some of the identical .jar files are shared for all dashboard and that unused .jar files are removed - this configuration is explained below.
This optimization has not been yet tested for other servlet containers (WAS, WLS,...), but should work more or less the same.
Optimization procedure
Before any of the following procedures are commenced, please make sure you stop the Apache Tomcat application server.
Backup
The first step is probably the most important - make sure you backup the CATALINA_HOME\webapps\DEPLOYMENT_FOLDER_NAME for each CAST dashboard installation
Optimizing JDBC driver .jar files
By default, CAST deploys JDBC drivers for all types of supported CAST Storage Service/RDBMS. These are located in the CATALINA_HOME\webapps\DEPLOYMENT_FOLDER_NAME\WEB-INF\lib folder (change the DEPLOYMENT_FOLDER_NAME to match each dashboard installation).
Oracle Server | ojdbc[version].jar |
Microsoft SQL Server | jtds-[version].jar |
CAST Storage Service | postgresql-[version].jar |
Move the JDBC drivers you require into the following locations
CATALINA_HOME\lib
For example, if your dashboard interact with CAST AIP schemas running on Oracle Server, then move the Oracle JDBC driver to the shared location.
Once this has been completed, remove the JDBC drivers you do not require from each of your portal installations. For example, in the case of CAST AIP schemas installed on Oracle Server you can safely remove all Microsoft SQL Server/Postgres drivers from each of your portal installations.
Restart Apache Tomcat
The final step is to restart Apache Tomcat. The previous configuration changes will force Tomcat to use the .jar files in the shared location, rather than loading all .jar files in each portal installation.