time innobackupex --user=test --password=test --socket=/home/mysqld.sock --slave-info --defaults-file=/etc/mysql/my.cnf --stream=tar /home/backup | gzip > mysql-backup.tgz
real    271m15.984s
user    275m44.840s
sys     6m34.393s
总结:
备份时间: 6小时30分钟以上
占用空间: 87G
占用CPU:  有单个core的cpu被打满
缺点:备份时间长,单个core的cpu被打满,恢复的时候解压会比较耗时,由于备份时间窗比较长所以apply-log的时间也相对会变长
优点:压缩比例高
time innobackupex --user=test --password=test --socket=/home/mysqld.sock --slave-info  --parallel=16 --compress --compress-threads 16 --defaults-file=/etc/mysql/my.cnf    --stream=xbstream  /home/backup > mysql-backup.xbstream
real    8m56.112s
user    36m18.179s
sys     4m1.395s
总结:
备份时间:  10分钟左右
占用空间:  123G 
占用CPU:  没有任何core的cpu被打满
缺点:压缩比不高,恢复时需要解两次包
优点:备份速度快、cpu core不会被打满,恢复时解压耗时短,由于备份时间窗比较短所以apply-log也是很快会完成
恢复方法:
1.解开xbstream文件
time xbstream -C /home/data/backup/  -x -v  < mysql-backup.xbstream
real    8m3.373s
user    2m49.465s
sys     3m31.498s
2.解压压缩的qp文件
cd /home/data/backup/
time innobackupex --decompress   --parallel=32  ./
real    6m24.422s
user    17m45.832s
sys     15m17.286s
3.apply log
cd  /home/data/backup/
innobackupex --apply-log ./
4.copy back
cd  /home/data/backup/
innobackupex --copy-back --defaults-file=/etc/mysql/my.cnf  ./ 
这一步如果 用copy-back的话会比较花时间,有一个省时间的办法是 直接把apply后的数据mv 到需要还原的data目录下(瞬移)
比如:cd /home/data/backup/ && mv ./* /home/mysqlrecover/data/
还原时间: 25分钟左右
牺牲点空间换时间还是值得的....
备份一个约250G的mysql实例【xtrabackup备份方案对比】
原文地址:http://kingbox.blog.51cto.com/3295899/1657893