Categories

Versions

You are viewing the RapidMiner Server documentation for version 8.0 - Check here for latest version

Best Practices for JBoss configuration

This page gives a short overview over some of the settings which can be adjusted to fit your usage. Under each settings you find recommended values for RapidMiner Server installations on your local machine Local on a dedicated server Default and for high load scenarios Big. The following settings are done inside the standalone.xml located in the standalone/configuration folder of your RapidMiner Server installation.

Database pooling

min-pool-size

The 'min-pool-size' defines the minimum amount of connections that should always be kept open. This reduces the response time but also allocate resources even if RapidMiner Server is not used.

Local 0 Default 5 Big 50

max-pool-size

The 'max-pool-size' defines an upper limit of open database connections. Higher values might require adjustments to the max_connections setting of your database.

Local 20 Default 50 Big 90+

Statement Caching

prepared-statement-cache-size

The number of prepared statements that should be kept in cache. This parameter should only be used in combination with a high min-pool-size value. Setting this value to 100 increases the throughput, but will consume additional RAM for the cache.

Local 0 Default 0 Big 100

share-prepared-statements

Allows to reuse a prepared statement inside a transaction.

Local false Default false Big true

Session Beans

Access Timeout

While not required for normal usage you can increase the 'default-access-timeout' of both stateful and singleton beans to better survive overload peaks.

<stateful default-access-timeout="5000" cache-ref="simple"/>
<singleton default-access-timeout="5000"/>

Local 5000 Default 5000 Big 30000

Pool sizes

Increase the stateless bean pool size to about Number of CPU cores / 8 * 20 on machines with more than 8 logical cores.

<bean-instance-pools>
    <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
    <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
</bean-instance-pools>

Local 20 Default 20 Big Number of CPU cores / 8 * 20

Logging

Reduce the log level

The available log levels are FATAL, ERROR, WARN, INFO, DEBUG and TRACE.

Change the value from INFO to WARN for the console log handler.

<console-handler name="CONSOLE">
    <level name="WARN"/>

Add the log level tag to the server.log handler.

<periodic-rotating-file-handler name="FILE" autoflush="true">
    <level name="WARN"/>

Local INFO Default INFO Big WARN

Disable console logging

Turn off console logging by removing the line <handler name="CONSOLE"/> from the root-logger handlers section to reduce unnecessary I/O operations.

Local enabled Default enabled Big disabled

Deployment scanner

Since the deployment scanner is only needed on startup the scan-interval can be set to an integer value smaller 1.

<subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
    <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="0"/>
</subsystem>

Local 0 Default 5000 Big 0