xtrabackup模拟备份100G数据

一、环境说明

dell r620 双颗CPU,单核心是12核心,内存是72G ,硬盘伪sata接口的企业级的SSD固态硬盘:500G

固态盘型号如下:

PD Type: SATA
Raw Size: 465.761 GB [0x3a386030 Sectors]
Inquiry Data: S3Z3NB0K116201W     Samsung SSD 860 EVO 500GB               RVT01B6Q
Device Speed: 6.0Gb/s 

二、测试项目

测试项目:使用xtrabackup 备份100G的数据使用的时间

xtrabckup备份工具安装此处忽略

授权xtrabackup 备份数据时登录库的用户

grant reload,lock tables,process,replication client,super on *.* to [email protected]‘127.0.0.1‘ identified by ‘654321ccs‘;flush privileges;

测试使用xtrabackup 单线程备份100G的数据使用的时间是17分39秒

备份命令:

[[email protected] ~]# time innobackupex --defaults-file=/etc/my.cnf  -ubackupuser -p654321ccs  --host=127.0.0.1  -S /tmp/mysql3306.sock  --no-timestamp 

190812 16:40:52 Finished backing up non-InnoDB tables and files
190812 16:40:52 [00] Writing /data/backup/db_3306_20190812/xtrabackup_binlog_info
190812 16:40:52 [00]        ...done
190812 16:40:52 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
xtrabackup: The latest check point (for incremental): ‘143003390816‘
xtrabackup: Stopping log copying thread.
.190812 16:40:52 >> log scanned up to (143003390816)

190812 16:40:52 Executing UNLOCK TABLES
190812 16:40:52 All tables unlocked
190812 16:40:52 [00] Copying ib_buffer_pool to /data/backup/db_3306_20190812/ib_buffer_pool
190812 16:40:52 [00]        ...done
190812 16:40:52 Backup created in directory ‘/data/backup/db_3306_20190812/‘
MySQL binlog position: filename ‘mysql-bin.000060‘, position ‘324009766‘
190812 16:40:52 [00] Writing /data/backup/db_3306_20190812/backup-my.cnf
190812 16:40:52 [00]        ...done
190812 16:40:52 [00] Writing /data/backup/db_3306_20190812/xtrabackup_info
190812 16:40:52 [00]        ...done
xtrabackup: Transaction log of lsn (143003390806) to (143003390816) was copied.
190812 16:40:52 completed OK!

real    17m39.710s
user    6m23.436s
sys     2m19.513s

从zabbix上查看监控磁盘io的使用率如下:

**从zabbix上查看监控磁盘io的使用率刚超过设定的阈值50%,不到60%,同时每秒的磁盘写入量如下:

也就是此时采用3个线程并行备份数据刚刚好。磁盘的io繁忙度可以接受

测试使用xtrabackup 开启3个线程备份100G的数据使用的时间是9分44秒:

time innobackupex --defaults-file=/etc/my.cnf  -ubackupuser -p123456ccs  --host=127.0.0.1  -S /tmp/mysql3306.sock  --parallel=3 --no-timestamp /data/backup/db_3306_`date +%Y%m%d`
190812 16:55:07 Finished backing up non-InnoDB tables and files
190812 16:55:07 [00] Writing /data/backup/db_3306_20190812/xtrabackup_binlog_info
190812 16:55:07 [00]        ...done
190812 16:55:07 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
xtrabackup: The latest check point (for incremental): ‘143003390816‘
xtrabackup: Stopping log copying thread.
.190812 16:55:07 >> log scanned up to (143003390816)

190812 16:55:07 Executing UNLOCK TABLES
190812 16:55:07 All tables unlocked
190812 16:55:07 [00] Copying ib_buffer_pool to /data/backup/db_3306_20190812/ib_buffer_pool
190812 16:55:07 [00]        ...done
190812 16:55:07 Backup created in directory ‘/data/backup/db_3306_20190812/‘
MySQL binlog position: filename ‘mysql-bin.000060‘, position ‘324017447‘
190812 16:55:07 [00] Writing /data/backup/db_3306_20190812/backup-my.cnf
190812 16:55:07 [00]        ...done
190812 16:55:07 [00] Writing /data/backup/db_3306_20190812/xtrabackup_info
190812 16:55:07 [00]        ...done
xtrabackup: Transaction log of lsn (143003390816) to (143003390816) was copied.
190812 16:55:07 completed OK!

real    9m44.015s
user    5m26.039s
sys     2m26.201s

说明在使用3个线程备份数据时,已经是达到了SSD固态盘io写入的极限。不可能再快了

同时备份期间查看iostat命令查看SSD磁盘 设备:sdb 的已经是100%繁忙了。达到了磁盘写入性能的极限。

[[email protected] backup]# iostat -d -x -k 2 30
Linux 3.10.0-327.el7.x86_64 (localhost.localdomain)     08/12/2019  _x86_64_    (32 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sdb               0.00     0.57    0.34    3.26    42.53   256.11   166.31     0.05   13.46   38.31   10.90   0.26   0.09
sda               0.00     0.27    0.00    1.35     0.06     9.31    13.84     0.00    1.54    0.51    1.54   0.13   0.02

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sdb               0.00     1.50 1040.00 1674.50 132442.00 213625.50   254.98   224.57   83.06   46.46  105.79   0.37 100.00
sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
。。。。。。。。。。。。。。。。
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sdb               0.00     1.00 1294.00 1417.00 164846.00 180440.75   254.73   202.51   74.50   43.77  102.56   0.37 100.00
sda               0.00     0.00    0.00    4.00     0.00    16.25     8.12     0.00    0.75    0.00    0.75   0.75   0.30

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sdb               0.00     2.00 1616.50 1366.00 206328.00 174046.25   255.07   223.71   75.18   47.35  108.12   0.34 100.00
sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

从zabbix上查看监控磁盘io的使用率已经是100%,磁盘的写入和读取基本都在185M/s

这个已经是达到次SSD盘的io性能的极限了。

测试使用xtrabackup 开启4个线程备份100G的数据使用的时间是9分58秒

time innobackupex --defaults-file=/etc/my.cnf  -ubackupuser -p123456ccs  --host=127.0.0.1  -S /tmp/mysql3306.sock  --parallel=4 --no-timestamp /data/backup/db_3306_`date +%Y%m%d`

190812 17:11:55 Finished backing up non-InnoDB tables and files
190812 17:11:55 [00] Writing /data/backup/db_3306_20190812/xtrabackup_binlog_info
190812 17:11:55 [00]        ...done
190812 17:11:55 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
xtrabackup: The latest check point (for incremental): ‘143003390816‘
xtrabackup: Stopping log copying thread.
.190812 17:11:55 >> log scanned up to (143003390816)

190812 17:11:55 Executing UNLOCK TABLES
190812 17:11:55 All tables unlocked
190812 17:11:55 [00] Copying ib_buffer_pool to /data/backup/db_3306_20190812/ib_buffer_pool
190812 17:11:55 [00]        ...done
190812 17:11:55 Backup created in directory ‘/data/backup/db_3306_20190812/‘
MySQL binlog position: filename ‘mysql-bin.000060‘, position ‘324048095‘
190812 17:11:55 [00] Writing /data/backup/db_3306_20190812/backup-my.cnf
190812 17:11:55 [00]        ...done
190812 17:11:55 [00] Writing /data/backup/db_3306_20190812/xtrabackup_info
190812 17:11:55 [00]        ...done
xtrabackup: Transaction log of lsn (143003390816) to (143003390816) was copied.
190812 17:11:55 completed OK!

real    9m58.171s
user    5m12.634s
sys     2m43.506s

原文地址:https://blog.51cto.com/wujianwei/2429601

时间: 2024-10-11 03:25:19

xtrabackup模拟备份100G数据的相关文章

关于通过linux crontab+xtrabackup自动化备份mysql数据的说明

1.xtrabackup备份的时候可能没有问题,但是如果放到crontab中执行的时候可能会有执行不成功的时候,错误示例如下 innobackupex: Error: mysql child process has died: sh: mysql: command not found 解决方法1: ln -s /usr/local/mysql/bin/mysql/usr/bin/mysql 解决办法2: 在备份脚本中引入环境变量 source /etc/profile

mysql备份实战-Xtrabackup工具备份

导读 大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.这里介绍一个强大的开源工具Xtrabackup. Xtrabackup简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具,是商业备份工具InnoDB Hotbackup的一个很好的替代品.特点: (1)备份过程快速.可靠: (2)备份过程不会打断正在执行的事务: (3)能够基于压缩等

编译安装mysql和zabbix,xtrabackup数据库备份

xtrabackup参考文章 https://www.cnblogs.com/linuxk/p/9372990.html ? ? ? ? 下载5.7的mysql 社区版包 https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar ? ? 如果是redhat7系统需要删除mariadb的包 使用以下命令检查并删除mariadb包 rpm -e --nodeps $(rpm -qa | gr

MySQL之XtraBackup实现完全备份、增量备份、数据还原

XtraBackup:是一个开源的免费的备份工具,支持热备份,对Innodb和MyISam存储引擎都支持备份,Innodb为热备.MyISam为温备份.且支持将备份结果进行压缩存放.支持部分备份(如只备份某个库或者某个库中的某个表).支持即时点数据还原.支持完全备份.支持增量备份.支持并行备份.流式备份.并行备份压缩.支持将单个表数据从一个数据库中导出然后导入另一个数据库中.支持将表恢复到一个不同的数据库server上 mylvmbackup:是一款可以实现自动化对LVM逻辑卷上的数据实现几乎热

MySQL数据库之xtrabackup物理备份(一)

前言:说到数据库备份,我们知道可以用来对数据库进行备份的工具有mysqldump.mydumer.mysqlpump等等,实际工作中,机器上的数据库不大的话,都是用mysqldump工具来备份,这些备份工具各有优缺点,这里不详细介绍,今天分享另一个数据库备份工具,叫XtraBackup. 一.Xtrabackup介绍 1.官网说明 Percona XtraBackup可以在不阻止用户查询的情况下实现MySQL备份,因此非常适合拥有大数据集和无法承受长时间停机的关键任务应用程序的公司.作为开源解决

Percona Xtrabackup快速备份MySQL

Percona Xtrabackup快速备份MySQL 提交 我的评论 加载中 已评论 Percona Xtrabackup快速备份MySQL 2015-07-10 Linux中国 Linux中国 Linux中国 微信号 linux-cn 功能介绍 面向Linux爱好者,提供Linux技术文章.新闻资讯和交流平台. 每天推送一条最新精选Linux资讯和技术文章:支持Linux命令查询.Linux资讯搜索及微信群的交流. 老规矩,开场白,刚开始用mysqldump,备份100G+的数据库,再加上服

xtrabackup 全备份,增量备份,恢复 mysql数据库

Xtrabackup使用指南 InnoDB数据备份工具 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写,也就是不加锁),是商业备份工具InnoDB Hotbackup的一个很好的替代品 一.Xtrabackup介绍  A.Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具

Xtrabackup 增量备份、恢复、原理

整合了网上的一些资料,结合自己的理解,并进行了实验验证 理解一: 1,Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具:xtrabackup.innobackupex (1).xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 (2). innobackupex是参考了In

mysql中的XtraBackup的备份原理

xtrabackup的官方下载地址为 : http://www.percona.com/software/percona-xtrabackup. xtrabackup包含两个主要的工具,即xtrabackup和innobackupex,二者区别如下: 1 xtrabackup只能备份innodb和xtradb两种引擎的表,而不能备份myisam引擎的表 2 innobackupex是一个封装了xtrabackup的Perl脚本,支持同时备份innodb和myisam,但在对myisam备份时需要