{{ item.name }}
{{ item.name }}

{{ it.name }}

{{ it.text }}

{{ it.name }}

{{ innerIt.name }}

{{ innerIt.text }}

{{news.time}}
{{news.title}}
XtraBackup 备份加速
2022-04-11发布 2,304浏览

概述

XtraBackup 是一款对于 MySQL 物理备份必不可少的工具,但是有时候在备份数据量级较大的数据库时,如果未做优化的话,还是有点慢,当然相对于逻辑备份,已然是很快了,那到底还能不能再快一点呢,又是什么参数在影响着 XtrBackup 的备份速度呢?带着这个疑问我们往下看。

首先我们需要先了解 XtraBackup 的备份原理,话不多说直接看图。

image

image

image

image

image

image

如图所示:

1. 当 innobackupex 命令开始备份的时候,首先会启动 xtrabackup 进程,xtrabackup 又分为两个线程,一个用于拷贝 ibd 文件,一个用于拷贝 redo 文件,redo 的拷贝线程只有一个,在 ibd 的拷贝线程启动前启动,在 ibd 的拷贝线程结束后结束。

2. xtrabackup 拷贝完成 idb 后,通知 innobackupex(通过创建文件),同时自己进入等待(redo 线程仍然继续拷贝)

3. innobackupex 收到 xtrabackup 通知后,执行 FLUSH TABLES WITH READ LOCK (FTWRL),取得一致性位置点,然后开始备份非 InnoDB 文件(包括 frm、MYD、MYI、CSV、opt、par 等)。拷贝非 InnoDB 文件过程中,因为数据库处于全局只读状态,非 InnoDB 表(主要 是MyISAM)如果比较多的话整库只读时间就会比较长。

4. 当 innobackupex 拷贝完所有非 InnoDB 表文件后,通知 xtrabackup(通过删文件) ,同时自己进入等待(等待另一个文件被创建);

5. xtrabackup 收到 innobackupex 备份完非 InnoDB 通知后,就停止 redo 拷贝线程,然后通知 innobackupex,redo log 拷贝完成(通过创建文件);

6. innobackupex 收到 redo 备份完成通知后,就开始解锁,执行 UNLOCK TABLES;

7. 最后 innobackupex 和 xtrabackup 进程各自完成收尾工作,如资源的释放、写备份元数据信息等,innobackupex 等待 xtrabackup 子进程结束后退出。

参数介绍

能够让我们加速备份的参数其实严格来说有以下两个:

1. --parallel

2. --compress-threads

先来说第一个参数 --parallel,先看下官方解释:

image

image

image

image

image

也就是说,这个参数的作用是,在 XtraBackup 备份开始拷贝 ibd 文件的时候可以并行拷贝的线程数量,默认的话是单线程拷贝的,如果 ibd 文件较多的话只能拷贝完一个再继续下一个,有一点需要注意如果表存储在一个 ibd 文件中,那么他将不会起到任何作用。

也就是说,这个参数的作用是,在 XtraBackup 备份开始拷贝 ibd 文件的时候可以并行拷贝的线程数量,默认的话是单线程拷贝的,如果 ibd 文件较多的话只能拷贝完一个再继续下一个,有一点需要注意如果表存储在一个 ibd 文件中,那么他将不会起到任何作用。

再看 --compress-threads 官网给出的解释:

image

image

image

image

image

简单来说就是针对 InnoDB 数据文件进行压缩的线程数,在指定这个参数的时候无需加上 --compress 也可以实现压缩。

测试

备份命令:

image

image

image

image


上一篇
explain format=json 详解
400-820-6580 13916131869
marketing@actionsky.com
上海市闵行区万源路2138号泓茂中心2号楼
产品详情
关系型数据库
AI数据库
数据库智能管理平台
数据库生态产品
行业案例
金融行业
新零售行业
制造业
通信行业
更多
公司动态
最新新闻
国产化信息
技术分享
关于我们
公司简介
公司分布
国家专利
资质认证
扫码关注公众号
© Copyright 2017, All rights reserved by: 上海爱可生信息技术股份有限公司 沪ICP备12003970号-1 | 法律声明 | 网站地图
沪公网安备 31010402003331号