注册
达梦数据复制软件DMDRS配置参数-CPT模块性能参数
专栏/数+融合专栏/ 文章详情 /

达梦数据复制软件DMDRS配置参数-CPT模块性能参数

达梦数+数据融合软件(DMDF)产品团队 2026/08/04 101 0 0
摘要 介绍DMDRS CPT模块的性能配置参数。

3.3 性能参数

介绍CPT模块的性能参数。

3.3.1 load

参数含义

源DMDRS的数据装载功能。

参数说明

该参数是一个功能标签,需要配置它的子项。

参数值

参数语法

<load></load>

参数示例

<load> <enable>1</enable> <load_thr>8</load_thr> <nets>1</nets> </load>
3.3.1.1 load_buf_size

参数含义

装载缓冲区大小。

参数说明

该参数的原名为max_all_trx_size。

该参数仅适用于MySQL/MariaDB源数据库。该参数与load_thr(装载读取源数据库数据的线程数)参数共同决定了MySQL/MariaDB源数据库一个事务的最大大小:load_buf_size/load_thr。当MySQL/MariaDB源数据库装载时目标DMDRS缓冲区满且全部是活动事务堆积时,会导致装载卡住,可以适当调小该参数或调大目标DMDRS的load_buf_limit参数。

参数值

取值范围:84~2147483647,单位:MB,默认值为682。

参数语法

<load_buf_size></load_buf_size>

参数示例

<load_buf_size>512</load_buf_size>
3.3.1.2 load_thr

参数含义

装载读取源数据库数据的线程数。

参数说明

该参数的原名为threads。

每一个装载线程会建立一个数据库连接,当装载结束时释放。可根据具体情况配置,源数据库数据量大时可适当调大该参数。

参数值

取值范围:1~255,默认值为32。

参数语法

<load_thr></load_thr>

参数示例

<load_thr>64</load_thr>
3.3.1.3 nets

参数含义

消息投递与下一级DMDRS服务建立的网络连接数。

参数说明

参数nets的值对应EXEC的装载站点数,增加nets值会增加装载时EXEC的内存需求。EXEC内存大小配置的说明请参见pub_buf_size章节。以表为单位分配网络,同一个表的所有分组使用同一个网络。

参数值

取值范围:1~3,默认值为1。

参数语法

<nets></nets>

参数示例

<nets>1</nets>

3.3.2 log_buf_size

参数含义

读取日志缓冲区大小。

参数说明

该参数仅适用于源数据库DM。当源数据库为DM时,源DMDRS服务需要缓存读取的日志,如果缓冲区较小,可能存在等待读日志的情况。需要根据源DMDRS所在机器的IO性能以及操作系统可用内存的实际情况,设置合适的读日志缓冲区大小。

参数值

取值范围:64~4096,单位:MB,默认值为128。

参数语法

<log_buf_size></log_buf_size>

参数示例

<log_buf_size>512</log_buf_size>

3.3.3 op_dml_size

参数含义

CPT模块DML操作的初始heap大小。

参数说明

与DML操作中的列数量相关,列数越多需要配置越大,否则会出现频繁的内存申请。

参数值

取值范围:128~131072,单位:B,默认值为2048。

参数语法

<op_dml_size></op_dml_size>

参数示例

<op_dml_size>2048</op_dml_size>

3.3.4 parse_queue

参数含义

日志解析队列的大小。

参数说明

该参数用来配置解析日志时的最大队列长度。长度越大效率越高,但占用的内存也越多,需要根据当前的硬件条件确定一个合理的值。缓存内存大小的计算公式:

  • Oracle数据库:占用内存大小=parse_queue参数值 * 32MB。

  • DM6、DM7、DM8、PostgreSQL、Kingbase、openGauss、SQL Server数据库:占用内存大小=parse_queue参数值 * 2MB。

参数值

建议根据内存情况配置,取值范围:1~10000,默认值为3。该参数配置的最小值为日志解析线程数parse_thr的两倍,当配置值小于最小值时,会自动修正为最小值。

参数语法

<parse_queue></parse_queue>

参数示例

<parse_queue>3</parse_queue>

3.3.5 parse_thr

参数含义

日志解析的线程数。

参数说明

该参数仅适用源数据库为DM7、DM8、MySQL/MariaDB和Oracle。源DMDRS允许使用多线程对日志进行解析,从而提升日志解析的速度。

参数值

取值范围:1~8,默认值为1。

参数语法

<parse_thr></parse_thr>

参数示例

<parse_thr>1</parse_thr>

3.3.6 pre_parse_thr

参数含义

Oracle日志前级解析的线程数。

参数说明

该参数的原名为parse_item_thr。

该参数仅适用于源数据库Oracle。源DMDRS允许使用多线程对日志进行前级解析,从而提升日志解析的速度。

参数值

取值范围:1~32,默认值为4,建议采用默认值。

参数语法

<pre_parse_thr></pre_parse_thr>

参数示例

<pre_parse_thr>4</pre_parse_thr>

3.3.7 read_thr

参数含义

日志读取的线程数。

参数说明

该参数的原名为io_threads。

该参数仅对源数据库为Oracle时有效。源DMDRS允许使用多线程对日志进行读取,从而提升日志读取的速度。

参数值

取值范围:1~16,默认值为1。

参数语法

<read_thr></read_thr>

参数示例

<read_thr>2</read_thr>

3.3.8 remote_read_buf

参数含义

DM8远程读的缓冲区大小。

参数说明

该参数仅适用于源数据库DM8单机及主备。用于控制远程读读取缓冲区大小。

参数值

取值范围:4~4096,单位:MB,默认值为128。

参数语法

<remote_read_buf></remote_read_buf>

参数示例

<remote_read_buf>128</remote_read_buf>

3.3.9 remote_read_thr

参数含义

DM8远程读的并行线程数。

参数说明

该参数仅适用于源数据库DM8单机及主备。用于控制远程读IO线程数。

参数值

取值范围:1~255,单位:个,默认值为8。

参数语法

<remote_read_thr></remote_read_thr>

参数示例

<remote_read_thr>8</remote_read_thr>

3.3.10 ring_site

参数含义

环节点的siteid。

参数说明

该参数用于标识当前DMDRS拓扑中成环的节点。

参数值

取值范围:1~65535。支持配置多个参数,使用“|”隔开。默认值为空,当该参数配置为空时,默认所有节点均在环中。

注意
  • 请确保该参数配置了所有拓扑结构成环的节点,否则可能出现事务回流。
  • 若该参数配置了环外的节点,会影响目标DMDRS入库性能,但不影响同步和事务过滤功能。若不清楚当前DMDRS的拓扑结构,建议使用默认配置。

参数语法

<ring_site></ring_site>

参数示例

当前DMDRS拓扑中存在三个在环内的节点,siteid分别为901、1001和1800。

<ring_site>901|1001|1800</ring_site>

3.3.11 send_queue

参数含义

日志发送队列的大小。

参数说明

该参数用来配置发送日志时的最大队列长度。发送队列的长度需要根据源DMDRS日志解析速率和目标DMDRS入库速率综合来确定一个合理的值。

参数值

取值范围:100~1000000,默认值为500。

参数语法

<send_queue></send_queue>

参数示例

<send_queue>500</send_queue>

3.3.12 sort_thr

参数含义

日志排序的线程数。

参数说明

该参数仅适用源数据库为Oracle。源DMDRS允许使用多线程对日志进行排序,从而提升日志读取的速度。

参数值

取值范围:1~8,默认值为1。

参数语法

<sort_thr></sort_thr>

参数示例

<sort_thr>1</sort_thr>

3.3.13 stat_interval

参数含义

统计信息的间隔时间。

参数说明

该参数的原名为statistic_schedule_time。

CPT模块会定时向DSS模块或EXEC模块发送统计信息,并获取对端的相应统计信息并保存。

参数值

取值范围:1~60,取整数,单位:s,默认值为2。

参数语法

<stat_interval></stat_interval>

参数示例

<stat_interval>1</stat_interval>

3.3.14 throughput

参数含义

源DMDRS的吞吐量。

参数说明

该参数是一个功能标签,需要配置它的子项。该参数仅适用于源数据库Oracle。

参数值

参数语法

<throughput></throughput>

参数示例

<throughput> <redo_buf_size>512</redo_buf_size> <redo_max_buf_size>1024</redo_max_buf_size> <redo_max_reuse_size>4096</redo_max_reuse_size> <sort_queue>128</sort_queue> <post_queue>256</post_queue> </throughput>
3.3.14.1 post_queue

参数含义

发送线程投递队列的大小。

参数说明

该参数仅适用于源数据库Oracle。发送线程会先将send_queue中的多条消息打包添加到投递队列中,后续投递会根据需要对打包后的消息进行压缩并通过网络发送到下一级DMDRS。

参数值

取值范围:1~2147483647,默认值为256。

参数语法

<post_queue></post_queue>

参数示例

<post_queue>256</post_queue>
3.3.14.2 redo_buf_size

参数含义

日志记录重用缓冲区大小。

参数说明

该参数的原名为redo_target_buffer。

该参数仅适用于源数据库Oracle。当处理日志记录大小小于redo_max_reuse_size参数的日志时,日志完成解析后,内存将不会直接释放,而是可以被后续的日志记录重用,该参数用于控制可以被重用的内存大小。适当增大该参数值可减少读线程的内存分配次数,降低读线程压力,但是会增加内存占用。

参数值

取值范围:1~2147483647,单位:MB,默认值为512。

参数语法

<redo_buf_size></redo_buf_size>

参数示例

<redo_buf_size>512</redo_buf_size>
3.3.14.3 redo_max_buf_size

参数含义

日志记录最大重用缓冲区大小。

参数说明

该参数的原名为redo_max_target_buffer。

该参数仅适用于源数据库Oracle。当处理日志记录大小大于等于redo_max_reuse_size参数的日志时,日志记录无法使用重用内存,因此将额外申请非重用内存,日志记录所占用总内存大小可能超过redo_buf_size参数的限制值,该参数可以限制重用内存大小与非重用内存大小之和。

参数值

取值范围:1~2147483647,且大于redo_buf_size参数值。单位:MB,默认值为1024。

参数语法

<redo_max_buf_size></redo_max_buf_size>

参数示例

<redo_max_buf_size>512</redo_max_buf_size>
3.3.14.4 redo_max_reuse_size

参数含义

日志记录长度允许被重用的最大值。

参数说明

该参数的原名为redo_reuse_size。

该参数仅适用于源数据库Oracle。当日志记录长度大于等于该参数值时,日志记录将直接释放。当日志记录长度小于该参数值时,日志记录将回到重用池。适当增大该参数值可减少读线程的内存分配次数,降低读线程压力,但是会增加内存占用。

参数值

取值范围:1~2147483647,单位:字节,默认值为4096。

参数语法

<redo_max_reuse_size></redo_max_reuse_size>

参数示例

<redo_max_reuse_size>4096</redo_max_reuse_size>
3.3.14.5 sort_queue

参数含义

日志排序队列的大小。

参数说明

该参数仅适用于源数据库Oracle。用于控制读线程日志排序队列的长度。

参数值

取值范围:1~2147483647,默认值为128。

参数语法

<sort_queue></sort_queue>

参数示例

<sort_queue>128</sort_queue>
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服