Performance Tuning
The following parameters are expert settings only. Only very advanced users can decide the right value for most settings and there is no guarantee of improved performance when a particular parameter is used.
JVM parameters
The most relevant Java Virtual Machine (JVM) settings are described in JVM configuration.
XMX memory settings
MDM uses both heap space (XMX memory) and non-heap space. The size of XMX memory should not exceed 70% of physical memory. |
Runtime and steps performance tuning
It is possible to pass various runtime parameters in bulk in a runtime properties file or create a performance file for any plan.
In case of MDM, take note of the specific parameters used to configure parallelism of the Matching step, as described in the following section.
Matching step performance tuning
The Matching step can have the parallelism set on three levels -partition, key, and matching rule- with the following parameters:
-
mduPartitionParallelism
: Partitions defined in the Matching step are processed in parallel. -
mduKeyParallelism
: Key rules defined within each partition are processed in parallel. -
mduMatchParallelism
: Matching rules defined within each key rule are processed in parallel.
Allowed values:
-
0 - Parallelism disabled (default).
-
1 - Parallelism enabled.
...
mduPartitionParallelism=1
mduKeyParallelism=1
mduMatchParallelism=1
...
Once the parallelism is enabled, it is the actual number of Partitions, Key Rules, and Match Rules in the Matching step configuration that determines the resulting level of parallelism. For example, if there are two partitions, five keys, and ten matching rules configured, and the parallelism is set on all 3 levels, as in the example settings (with all 3 parameters set to 1), the overall parallelism will require 100 threads. |
Setting parallelism on step level
While it is possible to specify a global parallelism value that will be used by any Matching step, it is also possible to specify each parallelism setting separately for each Matching step with a specific notation.
For example, the following setting will be applied only on the Matching step whose ID is Party Matching
.
Party\ Matching.mduPartitionParallelism=1
Spaces must be escaped using a backward slash (\ ).
For example, Party Matching step has to be written as Party\ Matching .
|
It is also possible to combine both global and step-specific settings.
...
### Global Matching Parallelism Settings ###
mduPartitionParallelism=1
mduKeyParallelism=1
mduMatchParallelism=1
...
### Party Matching ###
Party\ Matching.mduPartitionParallelism=1
MDM Server performance tuning
For the list of various parameters that influence the performance of MDM server, see Runtime Parameters.
To use some of these parameters, add them as a Java parameter (for example, -Dnme.copyColumns.skipUnchanged=true
) or define them in the runtime properties file, as in the following example.
The values of runtime parameters set during the engine startup are available in the Admin Center under Runtime Parameters (see MD Process Monitoring, section Runtime parameters).
...
nme.parallel.strategy=full
nme.delta.parallel=1
nme.commit.trimTooLongStrings=true
...
MDM database hints
MDM allows hinting for all SQL queries used internally.
SQL queries are available in the <ONE_HOME>/vldb-commands_<DB>.xml
and the file is referenced in the MDM configuration file.
Currently, only Oracle hints are pre-prepared: see the vldb-commands_oracle.xml
file.
The ability to hint database queries was previously implemented using the runtime parameters. This method still works without any manual interventions. |
Was this page useful?