关于我们
技术分享
技术分享
并发逻辑备份工具mydumper实践
并发逻辑备份工具mydumper实践
2021-06-01
并发逻辑备份工具mydumper实践
mysqldump单线程的备份恢复机制使得线上备份900G+数据近7个多小时,恢复30G数据需要2-3小时。
mydumper的行级并发备份和myloder表级并发导入,理论上能够很大程度提升效率。
现对mydumper和mysqldump进行有差异性的性能比较。
安装
yum -y install git cmake pcre-devel.x86_64 glib2-devel mysql-devel mysql-libsgit clone https://github.com/maxbube/mydumper.gitcmake .make && make install
mydump常用参数
-u 用户名-p 密码-h 主机IP或域名-t 线程数-o 备份文件名-d 不带数据-B schema名,多个用逗号间隔-T table名,多个用逗号间隔-R 导出trigger-G 导出routines
mysqldump和mydumper测试对比
数据量约为21G,备份时间如下:
对比结果
mysqldump | mydumper(t=2) | mydumper(t=4) | mydumper(t=8) |
---|---|---|---|
8m28.707s | 3m54.025s | 4m15.256s | 4m24.299s |
对比分析
mysqldump替换mydumper后,备份时间缩短一半左右
mydmper中-t参数设置并非越大越好,在测试环境中,t=2反而比默认值4要快
myloader实践
myloader常用参数
-u 用户名-p 密码-h 主机IP或域名-t 线程数-d 备份文件名-o 覆盖还原-B 还原的schema名,可以重命名-s 指定还原部分的schema名
不同线程数-t对恢复时间的影响
备份约4G左右,恢复时间如下:
对比结果:
t=2 | t=4 | t=6 | t=8 | t=10 | t=12 |
---|---|---|---|---|---|
5m22.614s | 3m11.709s | 2m50.085s | 2m20.515s | 2m9.527s | 2m5.290s |
对比分析:
线程数-t越高,恢复越快,但受IO限制,在测试环境下 t>8之后收益逐渐减少。
当恢复的数据库中存在特别大的表或者只有一张表,myloader收益较低甚至没有。
-q(queries-per-transaction)参数的调整暂时没有发现对测试结果有影响。
- 标签:
-
技术分享
您可能感兴趣的新闻 换一批
热门文章
现在下载,可享30天免费试用