CMXRep tuning
- Last UpdatedApr 24, 2025
- 3 minute read
The common tuning parameters (configuration settings that can be overridden) to increase performance and stability of replication are outlined below.
The size of the database greatly influences the tuning of these parameters. The R&D Performance, Stability, and Reliability (PSR) test system configuration is provided as a guideline for achieving optimal performance. If your system is larger or smaller, consider adjusting the configuration values appropriately.
The following table shows the total number of telemetered points evenly distributed amongst three systems. The overall size of the PSR test system is approximately 500,000 points.
|
Table |
Count |
|---|---|
|
analog |
100000 |
|
status |
128000 |
|
multistate |
21000 |
|
rate |
8500 |
|
rtstring |
3000 |
|
collect |
85000 |
-
DEF_FULFIL_BUFFER_SIZE — The maximum buffer size for each fulfill transmission, in bytes.
If you find that the synchronization time between the HOT/STANDBY or between the systems (for example, PRIMARY, SECONDARY, and DSS) is slower than expected, you can increase the fulfill buffer size to allow for more data to be buffered and replicated. This value is not to exceed the DEF_MAX_DST_MESSAGE_SIZE.
System
Recommended Settings (default value: 12.5 MB)
PSR Test System
12.5 MB
-
DEF_MAX_DST_MESSAGE_SIZE — The maximum size of the message received at the destination, in bytes.
System
Recommended Settings (default value: 40 MB)
PSR Test System
40 MB
If you are increasing DEF_FULFIL_BUFFER_SIZE on the sending system, this value should be increased on the corresponding receiving system to ensure that it is larger.
-
DESTINATION_QUEUE_MAX_SIZE — The maximum queue size applied to each destination queue, in bytes.
You can configure this setting if the default computed destination queue size is insufficient. You will often get the following message when the default queue size is too small and the fulfill buffer size is too large:
DEBUGLOG: enlargeQueue: Queue cannot be enlarged > than # of bytes (desired new queue size….)
System
Recommended Settings (default value: 157 MB)
PSR Test System
40 MB
The PSR test system configures this value to be 40 MB to ensure that the computed value is at the desired value of 50 MB.
Note: If the computed value is larger than this setting, the system uses the default computed value.
-
MAX_NUM_INTEG_UPDATE_REQ — The maximum number of integrity update requests.
To avoid constant requests to perform an integrity update from the owning system when RealTime synchronization keeps failing, this setting will delay the sending of requests by 30 seconds to the owning system once the maximum number of integrity update requests has been reached.
System
Recommended Settings (default value: 30 seconds)
PSR Test System
30 seconds
-
MAX_NUM_QUEUES_PER_TABLE — The maximum number of queues per table.
If memory is not an issue and performance is desired, you can configure this setting to allow for more than one external shared memory queue per table. The default value is one.
System
Recommended Settings (default value: 30)
PSR Test System
1
-
DEF_XFRQ_STALE_FULFILTIME_SECONDS — The maximum number of seconds necessary to declare the transfer queue staled when no update is sent to the destination.
Cmxrepsvr constantly monitors the fulfill queue. If it was not able to send any data to the destination system for more than the stale fulfill time, it will stop the fulfill and tell the destination system to issue an integrity update. When this occurs, it is an indication that the destination system is too slow at processing the data. Increasing the value of this setting can help the destination system to catch up. However, if you are adjusting this value repeatedly, more investigation will be required.
System
Recommended Settings (default value: 900 seconds)
PSR Test System
1500 seconds
-
DEF_XFRQ_STALE_UPDATELENGTH — The maximum number of bytes allowed to be queued on the transfer queue. When this value is exceeded, the queue is declared stale.
Cmxrepsvr constantly monitors the fulfill queue. If it was not able to send any data to the destination system and the data in the queue exceeds the stale update length, it will stop the fulfill and tell the destination system to issue an integrity update. When this occurs, it is an indication that the destination system is too slow in processing the data. Increasing the value of this setting can help the destination system to catch up. However, if you are adjusting this value repeatedly, more investigation will be required.
System
Recommended Settings (default value: 200 MB)
PSR Test System
200 MB
Note: Depending on the system hardware specifications and the database size, the actual settings of these tuning parameters may differ from the recommended settings.