博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysqlpump和mysqldump的性能大比拼(r12笔记第90天)
阅读量:2447 次
发布时间:2019-05-10

本文共 2113 字,大约阅读时间需要 7 分钟。

昨天测试了一下mysqlpump,今天来把剩下的补充完成,算是一个小的系列。

mysqlpump

在MySQL 5.7中做逻辑备份恢复有了一个新的工具mysqlpump,如果你掌握了mysqldump,那么使用mysqlpump就是分分钟的事情,因为很多参数都是很相似的,可以理解它是mysqldump的加强版,一个亮点就是有了并行的选项,使得数据备份的性能更加强大。

  有一点值得说明的是,为了保证数据一致性,我们一般备份都会使用--single-transaction的选项,在5.7.11以前,mysqlpump和并行参数是有冲突的,在这个版本之后做了修复。

  但是mysqlpump到底怎么样呢,我在5.7.17的版本中做了一些简单的测试,可以看出一些性能的差异。

  而mysqldump是大家最耳熟能详的工具了,如果没用过,都不好意思说自己会MySQL,这样一个工具和Oracle里的exp工具一般,经典而且功能丰富。  

测试环境说明

   为了尽可能保证导出的数据备份能够占用少的磁盘空间,我们经常会使用gzip来压缩,我们就分了几个场景来对比压缩,不压缩,开启并行后的数据备份的性能差异。

   我选取的数据集大小在30G左右。含有5个数据库,单表数据量在200万以上,单库的表数量在10个以上。

数据备份的测试结果

数据备份的测试场景自己做得多一些,当然备份层面的压缩暂时还没有测完整,其它的场景

option real idle% dump_size(byte)
mysqlpump compress=false 6m52.232s 85.92 26199028017
compress=false|gzip 43m12.574s 90.72 12571701197
compress=true 19m24.541s 80.48 26199028017
compress=true |gzip 43m12.515s 84.94 12571200219
parallelism=4  5m30.005s 76.43 26199028017
parallelism=4 |gzip 42m41.433s 90.51 12575331504
parallelism=8 4m44.177s 66.73 26199028017
parallelism=8 |gzip 42m50.417s 90.38 12574079375
parallelism=16 5m19.060s 90.38 26199028017
parallelism=16 |gzip 42m50.939s 89.65 12577618359
parallelism=32  5m10.220s 89.23 26199028017
parallelism=32 |gzip 45m47.022s 89.7 12577618359
mysqldump compress=false 9m19.785s 87.33 26176062499
compress=false |gzip 43m23.036s 90.97 12524413896
compress=true 37m42.052s 90.1 26176062499
compress=true |gzip 43m17.755s 85.89 12524413896
compress=true  38m55.968s 90.22 26176062499
compress=true |gzip 43m1.672s 85.77 12524413896

可以看到默认来说,导出一个30G左右的dump需要近7分钟,而启用了并行之后,并行度为4的时候,导出时间是5分半,提升了1.5分钟(20%),并行度为8之后提升了2分钟左右(30%)。而在系统层面做了压缩的时候,压缩率达到了近48%,而并行度在更大的时候,备份速度就差别不大了,一来也和CPU的情况有关,整体来说并行的效果还是不错的。在compress=true只是在服务端客户端交互中使用数据包压缩,最后的备份集大小是没有任何改变的。后续会测试使用不同的压缩算法,备份的性能差异。

系统层面压缩备份的情况

如果备份不通过gzip管道来压缩,而是直接生成备份压缩,效率如果呢。一个26G左右的备份,gzip压缩的时间大概是43m18.974s,其实还真不短,比预想的长多了。

数据导入效率

数据的导入,我就简单测试了两个场景,mysqlpump并行备份导出,导入,mysqldump备份导出导入

mysqlpump export  parallelism=4 7m
import 85m4.574s
mysqldump export  9m8.420s
import 97m9.760s

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-2140566/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23718752/viewspace-2140566/

你可能感兴趣的文章
如何在Microsoft表单中添加分支
查看>>
在“提示”框中:删除Windows 8安全启动,从Media Center启动应用程序,并加快Windows安装速度...
查看>>
修改时序约束改变slack_如何更改Slack的默认表情符号肤色
查看>>
如何在iPhone,iPad和Mac上禁用Safari经常访问的起始页
查看>>
vscode变假期不提示_12个假期的家庭技术支持提示
查看>>
将电视频道徽标添加到Windows 7 Media Center
查看>>
改善Google Chrome中的YouTube视频观看
查看>>
配置您的计算机以备份到Windows Home Server
查看>>
解决Windows Home Server Toolkit的连接问题
查看>>
如何在Windows 10中打印照片
查看>>
如何在离开时自动检测巢穴
查看>>
ubuntu显示管理器_如何在Ubuntu的文件管理器中显示导航栏而不显示面包屑
查看>>
关于极客
查看>>
自定义日历_如何在网络上自定义Google日历的通知
查看>>
hue功能_Philips Hue的“新实验室”部分中的最佳实验功能
查看>>
微软office在线文档_如何使用Microsoft Office密码保护文档和PDF
查看>>
如何在SHIELD Android TV上调整过扫描
查看>>
outlook 禁用不安全_如何在Outlook中禁用删除确认对话框
查看>>
找到丢失的磁贴跟踪器后如何获取通知
查看>>
PlayStation 4 Pro上的“升压模式”是什么?
查看>>