暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GaussDB T 性能调优——内核工具

原创 华为 2020-03-12
929

1 BACKUP

增加备份并行度调优

● 当备份介质为磁盘时,可以通过PARALLELISM count配置项指定多个并发线程进
行备份,以提高备份速度。
count的取值是[1, 8]范围内的整数。不指定并发数量时,将默认启动4个并发线
程。

● 并行备份时,可以通过SECTION THRESHOLD size配置项指定数据文件的切分阈
值,合适的切分阈值可以有效提高并行备份效率。
size的取值范围为[128M, 32T]。切分阈值太大,会造成并行效率下降,切分阈值
太小,会产生太多的备份文件数量,因此不建议用户指定切分阈值。不指定时,
数据库会自动计算最优的切分阈值。

示例

● 数据库自动计算切分阈值,并发数量为6。

BACKUP DATABASE FULL FORMAT '?/full011.bak' tag 'full011_bak' PARALLELISM 6;

● 用户指定切分阈值为1G,并发数量为2。

BACKUP DATABASE FULL FORMAT '?/full012.bak' tag 'full012_bak' PARALLELISM 2 SECTION 
THRESHOLD 1G;

压缩调优

● BACKUP支持压缩,用户压缩类型可选ZLIB,ZSTD、LZ4,不指定默认为ZLIB。推
荐使用ZSTD。 – ZLIB :ZLIB压缩率略低于ZSTD,高于LZ4,但是压缩速率远低于ZSTD。

– ZSTD:ZSTD压缩率高,压缩速率略低于LZ4。 – LZ4:LZ4压缩率低于ZSTD,压缩速率高。

● 压缩备份时,可设置压缩级别,级别越高,压缩率越高,速度越慢。用户可选择
压缩级别范围是[1, 9],压缩备份不指定压缩级别时,将采用默认级别1进行压缩
备份。

示例
全量备份zstd压缩,压缩级别为2。

BACKUP DATABASE FULL FORMAT '?/fullzstd.bak' as zstd compressed backupset LEVEL 2;

2 EXP

增加导出并行度调优

● PARALLEL,取值范围[2,16],默认值0,用于并行导出表数据;
● 需要根据实际资源情况,配置并行度,并行度越大,CPU负荷越高;

示例
导出文件是4并行导出表结构和表数据。

exp tables=test1,test2 file="parallel4.dmp"filetype=txt parallel=4;

3 IMP

增加导入并行度调优

● PARALLEL,值范围1~32,默认值1,用于DML语句的并行导入,只对CONTENT
参数为DATA_ONLY或ALL有效;
● DDL_PARALLEL参数,值范围1~32,默认值1,用于DDL语句的并行导入,只对
CONTENT参数为METADATA_ONLY或ALL有效,且FILETYPE是BIN格式;
● 需要根据实际资源情况,配置并行度,并行度越大,CPU负荷越高;

示例1
–导出文件是4并行导出表结构和表数据

exp tables=test1,test2 file="parallel4.dmp"filetype=txt parallel=4;

–导入也可以通过4并发导入

imp tables=test1,test2 file="parallel4.dmp"filetype=txt parallel=4;

示例2
–导出文件是16并行导出表结构和表数据,导出文件预计100G

exp tables=% file="paralle32.dmp"filetype=bin parallel=16;
--导入也可以扩大至32并发度调优
imp tables=% file="paralle32.dmp"filetype=txt parallel=32 ddl_parallel=16;

使用 NOLOGGING 参数调优

● NOLOGGING参数主要作用在于导入过程中执行的sql语句不记录redo和undo日
志,以此来提升导入效率,当前只支持BIN格式导入调优

● NOLOGGING参数可以和并行度参数组合使用

示例

imp tables=% file="paralle32.dmp"filetype=txt parallel=32 ddl_parallel=16;ddl_parallel=16 nologging=Y;

4 LOAD

增加导入并行度调优

● THREADS,指定并行导入的线程数,需要根据实际资源情况,配置并行度,并行度越大,CPU负荷越高;

● 一般仅用于导出额数据量比较大的情况启用THREADS参数并发导入;

示例
● 导出目标表training 预计有4G大小。

DUMP TABLE training INTO FILE '/opt/gaussdb/data/training_backup' FIELDS ENCLOSED BY '|';

● 导入增加4并发度提升导入效率

LOAD DATA INFILE "/opt/gaussdb/data/training_backup" INTO TABLE training_new FIELDS 
ENCLOSED BY '|' THREADS 4;

使用 NOLOGGING 参数调优

● NOLOGGING参数主要作用在于导入过程中执行的sql语句不记录redo和undo日
志,以此来提升导入效率,必须将目标表设置为append only,才能使用此选项。
● NOLOGGING参数可以和并行度参数组合使用。

示例

LOAD DATA INFILE "/opt/gaussdb/data/training_backup" INTO TABLE training_new FIELDS ENCLOSED BY '|' 
THREADS 4 NOLOGGING;

5 ROACH

● Roach对所有介质类型的备份支持压缩。默认压缩类型为zstd,默认压缩等级为4。用户可以修改配置文件中的COMPRESSION_MODE、COMPRESSION_LEVEL
参数值设定压缩类型和等级;也可以在备份命令中加入–compression-level、–
compression-mode并设定参数值,压缩类型可选zlib,zstd(性能高)、lz4,压缩等级取值范围[1,9]。

● Roach对DISK备份和恢复可以设定并发线程个数,进行并行备份和恢复。用户可
以修改配置文件中的PARALLELISM参数值设定并发数;或在Roach备份和恢复命令中加入–parallel-process参数并设定值,取值范围为[1, 8]。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论