6 Setting Server Parameters to Support Enterprise Data Quality

This chapter contains recommended Managed Server parameter settings for the framework that supports EDQ. These settings apply to both Oracle WebLogic Server and Apache Tomcat application server environments.

This chapter contains the following topics:

6.1 How to Set the Server Parameters

This section describes how to set the recommended server parameters for WebLogic Server and Tomcat domains. Follow the guidelines that are appropriate for your EDQ installation.

6.1.1 How to Set Server Parameters in a WebLogic Server Domain

When you start a Managed Server in a WebLogic Server domain, the startup passes a set of configuration parameters to initialize a Java Virtual Machine (JVM). These parameters include, but are not limited to, the server's JVM settings and the path to the server configuration directories.

The method of setting the required server configuration parameters for EDQ varies, depending on the method that you use to start the Managed Servers. The following points explain the differences:

  • When starting an EDQ Managed Server from the WebLogic Server Administration Console, the configuration settings for the Managed Server are pre-defined as server startup arguments, because they were set by the domain Configuration Wizard (see Section 4.3). When starting the server, these arguments are applied by default, but you can change them to the recommended settings described in Section 6.2.

  • When starting an EDQ Managed Server by using a startup script, the server startup arguments that are defined in the WebLogic Server Administration Console are ignored. However, when the domain Configuration Wizard was run, it created an edq_server1 Managed Server that contains default JVM settings. These settings are stored in the setDomainEnv.cmd (Windows) or setDomainEnv.sh (Linux) script in edq_server 1. You can edit this script to add or change the name of the Managed Server and to apply the recommended JVM settings described in Section 6.2.

6.1.2 How to Set Server Parameters in a Tomcat Domain

Consult the Tomcat documentation for your version of the application server. Documentation for all versions of Tomcat are at

http://tomcat.apache.org

6.2 Recommended Parameter Values

This section describes the recommended server parameter settings.

6.2.1 Setting JVM Parameters

You must set the following parameters for the Java Virtual Machine (JVM) that runs the EDQ environment. Most of these parameters apply to the HotSpot JVM, which is the central JVM of the Java Development Kit (JVM) from Oracle. This is the preferred JVM because it yields the best performance for EDQ.

  • Maximum heap memory, -Xmx, should normally be set to approximately 50% of available physical memory on the host server. For example, on a server with 32GB of RAM, start by setting it to 16GB with -Xmx16384m. Depending on the relative usage of memory between the JVM and native processing, you may need to be adjust this setting. This parameter is common to most JVMs.

  • Maximum Permgen space should be set to 512m, -XX:MaxPermSize=512m, unless otherwise advised. This parameter is specific to HotSpot JVM.

  • Reserved Code Cache size should be set to 128m, -XX:ReservedCodeCacheSize=128m, unless otherwise advised. This parameter is specific to HotSpot JVM.

    If you increase the MaxPermSize parameter value, you should increase the ReservedCodeCacheSize value proportionally.

  • Soft Reference Flush Interval should always be set to 1, -XX:SoftRefLRUPolicyMSPerMB=1. This parameter is specific to HotSpot JVM.

6.2.2 Setting Other Parameters

The following additional parameter settings are recommended.

  • Oracle JDBC Maximum Cached Buffer Size should always be set to 0, -Doracle.jdbc.maxCachedBufferSize=0. This parameter is specific to the Oracle JDBC driver.

  • Headless mode should always be set to true on UNIX systems, -Djava.awt.headless=true. This parameter is specific to the Java Abstract Window Toolkit (AWT) library. Setting this is recommended because some of the graphic drawing routines (such as around graphs) will attempt to connect to the display device on a client to size fonts and other attributes. If the machine does not have a display device, this may interfere with operation. The headless=true setting directs the graphics library to operate without connecting to a display.

6.3 Example of Parameter Settings

The following is an example of the full set of recommended parameter options for a typical UNIX or Linux server with 32GB of RAM:

-Xmx16384m 
-XX:MaxPermSize=512m 
-XX:ReservedCodeCacheSize=128m 
-Doracle.jdbc.maxCachedBufferSize=0 
-XX:SoftRefLRUPolicyMSPerMB=1
-Djava.awt.headless=true