TokuDB6.5与InnoDB(1.1.18)性能对比测试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了TokuDB6.5与InnoDB(1.1.18)性能对比测试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2787字,纯文字阅读大概需要4分钟。
内容图文
![TokuDB6.5与InnoDB(1.1.18)性能对比测试](/upload/InfoBanner/zyjiaocheng/549/b732a6b097b84a47b50f2de04f9b8aac.jpg)
最近测了一下TokuDB6.5与InnoDB1.1.18的性能对比测试,下面分享一下测试过程和测试结果,希望对以后可能需要用的TokuDB的朋友有点
大家对MySQL存储引擎最熟悉的恐怕就是InnoDB了,InnoDB的性能还算不错,尤其适用互联网应用。但是InnoDB也不能称作完美,尤其是单实例MySQL的性能那还真不敢恭维,,现在大多数互联网公司都是通过优秀的架构来弥补这点吧。今天说到的这个MySQL存储引擎单实例性能在特定情况下确实比InnoDB强很多,普通情况下也不差-----TokuDB------完美兼容MySQL。TokuDB是一个比较牛逼的引擎,它不是用常规数据库所用的B+树存储数据,而是采用所谓的分形树来存储,这种特殊的数据结构就使得TokuDB的读写性能很强(尤其是写,是InnoDB的许多倍吧)。最近测了一下TokuDB6.5与InnoDB1.1.18的性能对比测试,下面分享一下测试过程和测试结果,希望对以后可能需要用的TokuDB的朋友有点帮助(TokuDB数据文件在50G以内是免费的,超过就要收费,具体google tokudb既可找到,又是收费!!)。
首先简单介绍一下TokuDB,它是基于MySQL的存储引擎,采用分形数的数据结构做存储,最典型的几个特征就是插入速度极快,压缩效率高。官方给的它与InnoDB对比图如下:
TokuDB支持事务,MVCC等等一系列功能,看上图确实比InnoDB有很多优势,但是似乎在备份工具上面没有很好的支持(不知道是否有较好的收费版本)。关于TokuDB的功能基本上了解了,那接下来看看我们的具体测试结果。
测试工具:sysbench0.5。
测试方法:sysbench初始化一部分数据,然后跑脚本测试,测试过程中记录OS的相关数据。
sysbench测试脚本(没用热点数据模式,随机初始化数据):
sysbench --test=/home/zbs/sysbench-0.5/sysbench/tests/db/parallel_prepare.lua --oltp_tables_count=1 --oltp-table-size=$records --rand-init=on --num-threads=$thds --oltp-read-only=off --report-interval=10 --rand-type=uniform --mysql-table-engine=$type --max-time=8000 --mysql-host=$host --mysql-port=$port --mysql-user=test --mysql-password=test --mysql-db=test1 --max-requests=0 prepare >$log 2>&1
sysbench --test=/home/zbs/sysbench-0.5/sysbench/tests/db/oltp.lua --oltp_tables_count=1 --oltp-table-size=$records --rand-init=on --num-threads=$thds --oltp-read-only=off --report-interval=10 --rand-type=uniform --mysql-table-engine=$type --max-time=8000 --mysql-host=$host --mysql-port=$port --mysql-user=test --mysql-password=test --mysql-db=test1 --max-requests=0 run >$log 2>&1
第一次测试出来之后,TPS出乎我们的意料,见下图:
你会发现TokuDB6竟然比InnoDB和TokuDB5.0好这么多倍(测试TokuDB时iostat的%util列10%以下,vmstat的r列较高)。这个结果很吓人,但明眼人都不会相信这个结果(实际上TokuDB官方给的结果也是两者几乎差不多,TokuDB稍好),因为如果世上有一个这么好的存储引擎,那InnoDB就不要混了。带着怀疑的态度进行了第二次测试(第一次测试虽然表的规模很大,但是没有指定--rand-init=on,导致初始化的数据大多数行的内容相同,而此时TokuDB的压缩能力显现出来了,比InnoDB数据文件大概小了20倍左右),第二次测试了好几种数据规模情况(数据随机初始化,非热点数据模式)。
内容总结
以上是互联网集市为您收集整理的TokuDB6.5与InnoDB(1.1.18)性能对比测试全部内容,希望文章能够帮你解决TokuDB6.5与InnoDB(1.1.18)性能对比测试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。