在GBase 8a中有多种方式优化加载,本章节讲解的参数可以很好的优化加载性能。
提升加载性能参数
gcluster_loader_max_data_processors
gcluster_loader_max_data_processors 为单个数据加载任务中最大加载机的个数,默认取值为 16。通常建议 gcluster_loader_max_data_processors 取值为 4~8。在使用 sftp 加载时,需要特别关注 ssh 连接个数限制,可能因为加载需要连接 sftp的加载机个数太多造成超过 ssh 允许的最大连接数而导致加载失败问题。可以调整sshd 的配置文件,调整 maxstartup、maxsession 等参数。
加载任务负载均衡设置
gcluster_load_rebalance_seed
gcluster_load_rebalance_seed 参数表示不同 data 节点上的加载任务数最大差值大于等于参数值时会启动 node 加载任务负载均衡,默认值为 5。如果取得更好的均衡效果,可以将参数 gcluster_load_rebalance_seed 设置为 2 或者 1。集群每个加载任务会随机选取不超过 gcluster_loader_max_data_processors 个data 节点作为加载机。在 gcluster_load_rebalance_seed 取默认值 5 的情况下,如果并发了 5 加载任务,都随机选取第 10 个节点作为加载机。此时第 10 个 data节点上 load 任务数为 5,同时也存在部分节点上 load 任务数为 0,data 节点间最大任务数之差为 5。当第 6 个加载下发时,根据 gcluster_load_rebalance_seed参数条件,不再选取第 10 个节点作为加载机,而是选取加载任务差值小于 5 的节点作为加载机。
加载单行最大长度设置
gbase_loader_max_line_length
gbase_loader_max_line_length 参数用于指定数据加载文件中允许的单行的最大长度,默认为 4M。GBase 8a 集群能够加载的最大的数据行长度为 4M,当待加载的数据文件中存在超过 4M 大小的行时,加载任务将失败并报错“Line length xxxx is more thangbase_loader_max_line_length(4194304)”,通过调整gbase_loader_max_line_length 参数为更大取值,可以让加载任务执行成功,超过 4M 大小的行则作为错误数据跳过。
加载读超时时间参数设置
gbase_loader_read_timeout
gbase_loader_read_timeout 参数用于指定读取 FTP/HTTP/SFTP 文件的超时时间,如果填充一个数据块(8M)的时间超过此参数值,加载任务将报错停止。0表示永不超时。默认取值为 300 秒。在较差网络环境下可调大概参数,避免出现 read operation timeout 超时错误。


本文详细介绍了GBase8a数据库在数据加载过程中可以优化性能的几个关键参数,包括gcluster_loader_max_data_processors、gcluster_load_rebalance_seed和gbase_loader_max_line_length。建议根据实际情况调整这些参数,例如将gcluster_loader_max_data_processors设置为4~8,gcluster_load_rebalance_seed设为2或1以实现负载均衡,以及通过gbase_loader_max_line_length处理大行数据。此外,还提到了gbase_loader_read_timeout参数,用于在网络环境不稳定时防止加载超时。
632

被折叠的 条评论
为什么被折叠?



