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 machineLocalon a dedicated serverDefaultand for high load scenariosBig. The following settings are done inside thestandalone.xml
located in theconfiguration
folder of your RapidMiner Serverhome 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 exampleC:\Users\TestUser\rapidminer-server\rapidminer-server-home\configuration\standalone.xml
).
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.
max-pool-size
The 'max-pool-size' defines an upper limit of open database connections. Higher values might require adjustments to themax_connections
setting of your database.
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 highmin-pool-size
value. Setting this value to 100 increases the throughput, but will consume additional RAM for the cache.
share-prepared-statements
Allows to reuse a prepared statement inside a transaction.
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.
Pool sizes
Increase the stateless bean pool size to aboutNumber of CPU cores/ 8 * 20
on machines with more than 8 logical cores.
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.
Add the log level tag to the server.log handler.
Disable console logging
Turn off console logging by removing the line
from the root-logger handlers section to reduce unnecessary I/O operations.
Deployment scanner
Since the deployment scanner is only needed on startup thescan-interval
can be set to an integer value smaller 1.
JDBC driver
MS SQL Unicode performance
MS SQL Server offers different data types to store string values:char
,varchar
, andtext
. If you want to store unicode data the following types should be used instead:nchar
,nvarchar
andntext
. 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:sendStringParametersAsUnicode=false
The following SQL Query can be used to identify unicode data columns: