背景:阿里云ECS,94G内存,32核CPU,MySQL BP=70G,备份盘没有采用SSD
实验:
一、基础语句
backupcmd = "innobackupex --defaults-file=%s --galera-info --user=%s --password=%r --socket=%s --kill-long-queries-timeout=300 --kill-long-query-type=all --no-timestamp ./ "\
%(DB_CNF,DB_USER,DB_USER_PASSWORD,DB_SOCKET)
耗时:40min
数据目录:283G
备份空间:232G
系统压力:
top、iotop
二、4线程备份提速
parallel默认1,在 innodb_file_per_table=1 的情况下可以启用该选项,实现文件级多线程复制
--parallel=4
耗时:37min
数据目录:284G
备份空间:232G
top值
iotop值
三、16线程备份提速
--parallel=16
耗时:36min
数据目录:284G
备份空间:232G
top
iotop
四、压缩
4.1、官方compress压缩
--parallel=16 --compress --compress-threads=8
耗时:18min
数据目录:285G
备份空间:39G
压缩比:13.68%
--parallel=16 --compress --compress-threads=16
耗时:17min
数据目录:285G
备份空间:39G
==========================================
注:
1、--decompress选项需要qpress
wget https://repo.percona.com/yum/percona-release-latest.noarch.rpm
rpm -ivH percona-release-latest.noarch.rpm
yum install qpress
2、--parallel可以与--decompress同时使用,以实现并行解压(文件级)
例如:innobackupex --decompress --parallel=8 /backup/databackup/20200316/
3、解压后,原.qp压缩文件会保留,xtrabackup提供了删除选项
xtrabackup --decompress --remove-original --parallel=8 --target-dir=/backup/databackup/20200317
4、实验结果如下:
8线程解压速度:25min
16线程解压速度:22min
8线程压缩top
8线程压缩iotop
16线程压缩top
16线程压缩iotop
参考文档:
Percona XtraBackup 2.4 Documentation: innobackupex压缩备份方法
Percona XtraBackup 2.4 Documentation: Xtrabackup压缩备份操作方法