Direct Replication for Outbound Commands

Reduce command transformation in the outbound replication path between the Replication Server DIST and DSI modules to improve replication performance.

For outbound data, you can set dist_cmd_direct_replicate on to allow the DIST module to send internal parsed data along with the packed ASCII format data. When required, the DSI module can retrieve and process data from parsed data directly, and save time otherwise spent parsing ASCII format data. If you set dist_cmd_direct_replicate off, DIST module only sends the packed ASCII data to DSI. The default is on.

The DSI module can only read from the SQM command cache if at first the thread can read from the SQM cache instead of from physical disk, and if you set an appropriate SQM cache size with sqm_cache_size. Once the DSI module reads a command from the SQM cache, the ability of the module to find an already parsed version of this command in the SQM command cache depends on the SQM command cache size that you set with sqm_cmd_cache_size, and the maximum number of entries in the SQM block that can be associated with parsed commands that you can set with sqm_max_cmd_in_block.

Use configure replication server to set dist_cmd_direct_replicate at the server level for all distributors. Otherwise, use alter connection to set the the parameter for individual distributors. For the configuration to take effect if you use alter connection, restart the specific distributor with suspend distributor and resume distributor. Restart Replication Server if you use configure replication server.

Use the sqm_cmd_cache_size and sqm_max_cmd_in_block parameters to set the SQM command cache memory configuration. You can configure dist_cmd_direct_replicate, sqm_cmd_cache_size, and sqm_max_cmd_in_block in the same command or separately. Replication Server ignores the settings for sqm_cmd_cache_size and sqm_max_cmd_in_block if sqm_cache_enable is off.

Example 1

To set the configuration for all connections and queues for a 64-bit Replication Server:
configure replication server
set dist_cmd_direct_replicate to 'on'
set sqm_cmd_cache_size to '40971520'
set sqm_max_cmd_in_block to '640'
go 

Example 2

To set the configuration for the connection to the pdb1 primary database in the TOKYO_DS data server and for inbound queue number 3 for a 32-bit Replication Server::
alter connection to TOKYO_DS.pdb1
set dist_cmd_direct_replicate to 'on'
go
alter queue 2, 1,
set sqm_cmd_cache_size to '2048576'
set sqm_max_cmd_in_block to '640'
go