GBase 8a集群从SFTP数据源高性能加载的新参数

GBase 8a版本支持从ftp和sftp,hdfs等数据源加载,其中在安全要求高的场景,使用sftp是最常见的选择。GBase 8a新版本为sftp加载提供了几个参数来提高其性能。

这些参数仅在较新的版本(今日是2026-06-24)可用,如您在用的版本不支持,并且希望提高sftp加载性能,可以联系GBase的支持人员申请新的版本。

加载性能排查

如果当前sftp加载满足要求,一切正常,建议维持现状。

查看当前加载速度

可以从information_schema.load_status表里,汇总当前的整体加载速度(MB/s)或者按照IP统计某个节点的加载速度。详情请参考

南大通用GBase 8a集群查看加载进度的方法

sftp加载速度快慢的评价方法

可以数据库节点,用sftp协议从数据源拉取一个加载数据文件看看性能。比如

[root@localhost opt]# sftp root@10.0.2.201
root@10.0.2.201's password:
Connected to 10.0.2.201.
sftp> get xxx.tar.bz2
Fetching /root/xxx.tar.bz2 to xxx.tar.bz2
/root/xxx.tar.bz2                    100%   86MB  98.3MB/s   00:00
sftp> quit
[root@localhost opt]#

如果某个节点的多个LOAD加载速度和,低于如上单纯sftp拉取速度的30%(该比例为纯评估值,最终还是以没有满足加载速度为准),则可以考虑性能sftp加载速度较慢,可以用本文提到的方法尝试下。

参数

gbase_use_ssh_sftp

为了兼容,增加了这个开关参数。

0:默认值,用原有的sftp加载方案

1:使用新方案

该参数支持session级设置。

gbase_use_ssh_sftp_algorithm

设置sftp传输时的算法。多个算法用逗号分割。

默认值为空白,由当前系统自动协商。

指定具体算法,比如 aes128-ctr

set gbase_use_ssh_sftp_algorithm='aes128-ctr';

注意。如果指定的算法对面数据源sshd服务不支持,将导致连接失败。所以建议从sshd服务支持的算法中选择较快的算法。

总结

新的算法提高了加载速度,对应的CPU,网络,磁盘等会有对等的增加。如果现场加载速度已经满足要求,不建议使用本文提到的新的方法。

其中的传输算法,配置错误会导致ssh服务器与客户端协议协商失败而报错。建议在测试环境或session级设置确认性能有改善后,再全局配置并修改配置文件。