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
configuration folder of your RapidMiner Server home directory. You've selected the home directory during the installation process. The home folder's location typically depends on the machine's user with whom you've installed RapidMiner Server (for example
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.
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.
The number of prepared statements that should be kept in cache.
This parameter should only be used in combination with a high
Setting this value to 100 increases the throughput, but will consume additional RAM for the cache.
Allows to reuse a prepared statement inside a transaction.
While not required for normal usage you can increase the 'default-access-timeout' of both stateful and singleton beans to better survive overload peaks.
Increase the stateless bean pool size to about
Number of CPU cores / 8 * 20 on machines with more than 8 logical cores.
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.
Add the log level tag to the server.log handler.
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.
Since the deployment scanner is only needed on startup the
scan-interval can be set to an integer value smaller 1.
MS SQL Unicode performance
MS SQL Server offers different data types to store string values:
text. If you want to store unicode
data the following types should be used instead:
ntext. By default, the MS SQL JDBC driver will send
all string data in the unicode format. This behavior will lead to performance issues if the underlying data type of
the MS SQL server is not using an unicode data type as the MS SQL Server needs to convert the corresponding values. If you are
not using unicode data types within the RapidMiner Server DB, you should deactivate the unicode format in the JDBC driver
by adding the following prefix to the JDBC URL:
The following SQL Query can be used to identify unicode data columns: