参数含义
EXEC模块公用缓冲区大小。
参数说明
该参数的原名为buffer。
EXEC模块初始化启动时,根据pub_buf_size配置大小,从操作系统一次性申请该大小的缓存空间,用于数据同步使用。本初始化内存被组织成多个内存池形式,并且可自动扩展。本缓存可供EXEC模块多个站点共用,数据同步时,EXEC模块各站点优先使用本站点的私有站点缓存,当私有站点缓存空间不足时,则会使用公用缓存。
注1:EXEC内存参数说明recv_buf_size, site_buf_size, load_buf_limit是常见的影响同步/装载性能的内存参数。
recv_buf_size:recv_buf_size是每个装载/同步站点私有的缓冲区。当并行的站点数较多,或者数据量较大且事务入库速度较慢时,容易导致接收的日志操作未能被及时处理或存入到site_buf_size中而使缓冲区被占满,此时应该适当增加recv_buf_size的大小以减小缓冲区被占满的几率。
site_buf_size:site_buf_size是每个同步站点私有的缓冲区,从recv_buf_size中取出的消息在初步解析后会被存放到site_buf_size中。当站点间数据量不均,数据量较大且事务入库速度较慢时,site_buf_size空间可能不足,此时解析后的数据会被存放到所有站点公有的pub_buf_size中。若同时出现多个同步站点的site_buf_size空间不足的情况,此时应该适当增加site_buf_size的大小以减小缓冲区被占满的几率。
load_buf_limit:load_buf_limit是每个装载站点私有的缓冲区,从recv_buf_size中取出的消息在初步解析后会被存放到load_buf_limit中。当站点间数据量不均,数据量较大且事务入库速度较慢时,load_buf_limit空间可能不足,此时应该适当增加load_buf_limit的大小以减小缓冲区被占满的几率。
注2:EXEC内存占用计算公式约定γ为最大同步站点数,ν为最大装载站点数。sum(κ)为所有group下的json_buf_size值的总和。max(κ)为所有group下最大的json_buf_size值。
EXEC最大占用内存为:
pub_buf_size + site_buf_size * γ + recv_buf_size * γ + (plan_vpool_size + 3) * work_thr + 1004 + load_buf_limit * ν + recv_buf_size * ν + plan_vpool_size * load_thr (MB)
当目标库为Kafka时,EXEC额外占用的内存为:
(work_thr + load_thr) * 14 + sum(κ) + (load_thr + 1) * max(κ) (MB)
参数值
取值范围:256~2147483647,单位:MB,默认值为512。
参数语法
<pub_buf_size></pub_buf_size>
参数示例
<pub_buf_size>2048</pub_buf_size>
参数含义
EXEC模块站点消息接收缓冲区大小。
参数说明
该参数的原名为recv_buffer。
EXEC模块在创建站点时,根据该参数值初始化站点消息接收内存池大小。消息接收与消息解析为异步执行,当消息解析较慢导致接收缓存区满时,则会阻塞新消息的接收,适当增大该参数,能够提高消息接收与消息解析的并行度,提高同步效率。
参数值
根据实际情况设置,单位:MB,默认值为8,最大值为512。
参数语法
<recv_buf_size></recv_buf_size>
参数示例
<recv_buf_size>128</recv_buf_size>
参数含义
目标DMDRS进行冲突检测的范围。
参数说明
目标DMDRS从源DMDRS接收日志时,会在内存HASH中缓存一定数量的行信息。每一条DML操作都将在该HASH中查找与自己冲突的事务并记录,用于工作线程入库时判断并行执行条件,提升性能。注意:接收时仅做冲突检测,并行优化默认关闭,需要配置分组执行掩码ROW_HASH来启用。暂时不支持源数据库为DMDSC的情况。
每1000000行将占用约40MB内存。
参数值
取值范围:1~16777216,单位:行,默认值为50000。
参数语法
<row_hash></row_hash>
参数示例
<row_hash>1000000</row_hash>
参数含义
每一个EXEC模块站点私有缓冲区大小。
参数说明
该参数的原名为site_buffer。
每一个源DMDRS在同步时,都会在同步执行端注册一个对应的同步站点结构,该功能参数用于分配同步站点可使用的初始化内存大小。
该内存主要用于同步事务的操作和数据缓存,同步活动事务越多,则对该内存的消耗越大。对于增量同步,该初始化内存大小固定,不再扩展;对于装载,该内存可在初始化内存基础上继续扩展,可通过设置load_buf_limit参数,控制装载同步可用的最大缓存内存大小。
参数值
根据实际情况设置,单位:MB,默认值为64。
参数语法
<site_buf_size></site_buf_size>
参数示例
<site_buf_size>1024</site_buf_size>
参数含义
统计信息的间隔时间。
参数说明
该参数的原名为statistic_schedule_time。
EXEC模块会定时向DSS模块索取统计信息,获取DSS的统计信息并保存。该参数仅适用于数据分发场景。
参数值
取值范围:大于1小于60的整数,单位:s,默认值为2。
参数语法
<stat_interval></stat_interval>
参数示例
<stat_interval>2</stat_interval>
参数含义
执行入库的工作线程数。
参数说明
该参数的原名为threads。
当配置的分组数较多,分组间并行度较高,且分组内执行策略配置为并行执行,提高该参数的值可提高同步性能。
参数值
取值范围:1~256,默认值为32。
参数语法
<work_thr></work_thr>
参数示例
<work_thr>60</work_thr>
文章
阅读量
获赞
