全部产品
云市场

MySQL备份恢复性能说明

更新时间:2020-05-26 16:19:41

该文档提供MySQL逻辑、物理备份恢复性能的性能报告,该性能报告仅供参考,不作为产品SLA的评判标准。

流程图

备份流程

流式读取MySQL物理文件,备份时采用多流并发备份写入,备份速度快。支持根据DBS规格调整备份并发数,目前支持gzip与lz4两种压缩算法,gzip压缩率高,lz4备份速度快。1

恢复流程

采用多流并发恢复到指定目录,支持根据DBS实例规格调整恢复并发数,恢复速度快。2

逻辑备份

测试环境

测试工具:Sysbench。

测试项 测试值
数据库大小 4GB
表数量 16张
总记录数 2000万
单记录大小 0.2KB

恢复测试

恢复性能

规格(恢复线程数) 4core 16GB 9000IOPS 8core 32GB 18000IOPS
xlarge(16) 97151 (19.4MB) 120861 (24MB)
large(8) 75763 (15.1MB) 81873 (16.4MB)
medium(6) 63851 (12.8MB) 65924 (13.2MB)
small(4) 44333 (8.8MB) 46357(9.3MB)
micro(2) 34531 (6.9MB) 35052(7.1MB)

恢复优化

逻辑恢复瓶颈在于数据库实例的CPU、IOPS、内存,如果是使用RDS恢复,可以选择高可用版,另外选择PolarDB进行恢复可以获得更快的恢复速度。

通过数据库参数配置优化,可以提升恢复性能,包括以下参数:

  • max_allowed_packet
  • innodb_buffer_pool_size
  • innodb_doublewrite
  • innodb_flush_log_at_trx_commit
  • innodb_flush_method
  • innodb_io_capacity
  • innodb_io_capacity_max

物理备份

测试环境

测试工具:Sysbench。

测试项 测试值
数据库大小 40.3GB
表数量 160张
总记录数 20亿条
单记录大小 0.2KB

物理备份测试

物理备份性能

备份规格 原始数据量 耗时 备份速度 压缩后文件大小
gzip 4线程 40.3GB 636s 63MB/s 21.1GB
gzip 8线程 40.3GB 341s 118MB/s 21.1GB
gzip 16线程 40.3GB 204s 197MB/s 21.1GB
lz4 4线程 40.3GB 268s 150MB/s 31.1GB
lz4 8线程 40.3GB 119s 338MB/s 31.1GB
lz4 16线程 40.3GB 104s 387MB/s 31.1GB

物理恢复测试

物理恢复性能

恢复规格 数据量(原始/压缩后) 耗时 恢复速度(相对于原始数据量 恢复速度(相对于压缩后数据量
gzip 4线程 40.3GB/21.1GB 320s 126MB/s 65MB/s
gzip 8线程 40.3GB/21.1GB 161s 250MB/s 131MB/s
gzip 16线程 40.3GB/21.1GB 86s 468MB/s 245MB/s
lz4 4线程 40.3GB/31.1GB 408s 99MB/s 76MB/s
lz4 8线程 40.3GB/31.1GB 208s 194MB/s 150MB/s
lz4 16线程 40.3GB/31.1GB 108s 373MB/s 287MB/s

总结:

单通道吞吐不足20MB/s,如果打开innodb_file_per_table(MySQL 5.7之后版本默认打开),可以线性提速,提速峰值跟售卖规格的并发数有关。