Start tuning parallel DSI parameters to reduce contention when you have completed the tasks described in “Before you begin”, and performance tests indicate that contentions are affecting performance. For example:
The replicate is blocking activity.
Replication Server is rolling back and reapplying a large percentage of transactions due to deadlock conditions. Refer to counter 5060 – TrueCheckThrdLock.
Start by tuning the dsi_max_xacts_in_group parameter, which determines the number of transactions grouped in a single begin/commit block. By reducing the value of dsi_max_xacts_in_group, you cause the DSI executor threads to commit more frequently. Thus, the DSI executor threads hold fewer replicate resources for shorter periods of time and contentions should decrease.
Adjusting the dsi_num_threads parameter also affects contention. The larger the number of DSI executor threads available, the more likely contentions will arise among the threads. Try decreasing the value of dsi_num_threads even to 3 with one reserved for large transactions. Finding the values that provide best performance is iterative. Remember that some contention is acceptable if overall performance improves.