用tpcc测试对比 innodb 和 tokudb
测试环境 1台IBM Intel(R) Xeon(R) CPU E5606 @ 2.13GHz,内存12G
cd tpcc/tpcc-mysql/src
# make
cc load.o support.o `mysql_config --libs_r` -lrt -o ../tpcc_load
/usr/bin/ld: cannot find -lperconaserverclient
collect2: ld 返回 1
make: *** [../tpcc_load] 错误 1
# vi /etc/ld.so.conf.d/percona-x86_64.conf
/usr/local/percona/lib
# ldconfig -v 可看到
/usr/local/percona/lib:
libHotBackup.so -> libHotBackup.so
libperconaserverclient.so.18 -> libperconaserverclient_r.so.18.1.0
但 make 依然出错
# mysql_config --libs_r 输出
-L/usr/local/percona/lib/mysql -lperconaserverclient -lpthread -lm -lrt -lssl -lcrypto -ldl
/usr/local/percona/lib/mysql 下没有 libperconaserverclient.so 文件,但在 /usr/local/percona/lib 下有,做个链接
# cd /usr/local/percona/lib/mysql
# ln -s ../libperconaserverclient.so libperconaserverclient.so
编译通过了
要对脚本做适当修改,建表 create_table.sql
sed -i 's/Engine=InnoDB/Engine=tokudb/' create_table.sql
add_fkey_idx.sql 删除外建相关语句
load 100库
innodb 8.3G 1小时22分钟
tokudb 6.5G 1小时39分钟
看上去压缩效果并不明显,原因应该是tpcc的模拟数据随机性比较大,重复率低,我们日志库的压缩率就非常明显,是原来的1/8左右。
首次sql执行时间(秒)
select count(*) from customer;
innodb 1.06 tokudb 2.79
调整缓存 innodb 1G tokudb 8G 重启后测tokudb
停机时 InnoDB: Waiting for page_cleaner to finish flushing of buffer pool 花了2,3分钟
io wait 降到10%~20%+
第一次 7023.700 TpmC 第二次
tokudb_row_format = tokudb_uncompressed
第一次 6646.050 TpmC 第二次 7344.450 TpmC
结论:不压缩总体结果并无明显优势
200仓库继续测试,tokudb_row_format = tokudb_fast
tokudb 占用 12G
导入费时 2时46分 加索引费时 35分钟
32并发,预热2分钟,测试20分钟
第一次 4884.400 TpmC 第二次 4735.650 TpmC
64并发
第一次 5333.250 TpmC
|
总仓库数 |
压测仓库数 |
缓存 GB |
禁用系统缓存 |
并发 连接数 |
TpmC 第1次 |
TpmC 第2次 |
|
|
tokudb |
100 |
100 |
4 |
否 |
32 |
1719.300 |
|
|
Innodb |
100 |
100 |
4 |
否 |
32 |
1531.000 |
|
|
+12.30% |
|||||||
|
tokudb |
100 |
100 |
4 |
否 |
64 |
2182.650 |
|
|
Innodb |
100 |
100 |
4 |
否 |
64 |
2322.500 |
|
|
-6.02% |
|||||||
|
tokudb |
200 |
100 |
10 |
是 |
64 |
6481.750 |
|
|
Innodb |
200 |
100 |
10 |
是 |
64 |
3199.000 |
|
|
+102.62% |
|||||||
|
tokudb |
200 |
200 |
10 |
是 |
64 |
2683.150 |
|
|
Innodb |
200 |
200 |
10 |
是 |
64 |
1206.750 |
|
|
+122.35% |
|||||||
|
tokudb |
400 |
400 |
10 |
是 |
64 |
953.900 |
1047.800 |
|
Innodb |
400 |
400 |
10 |
是 |
64 |
311.200 |
498.950 |
|
+207% |
+110% |
||||||
|
tokudb |
400 |
200 |
10 |
是 |
64 |
2981.900 |
2745.450 |
|
Innodb |
400 |
200 |
10 |
是 |
64 |
851.300 |
1992.200 |
|
+250% |
+38% |
||||||
|
tokudb |
400 |
200 |
8 |
是 |
64 |
1889.500 |
|
|
tokudb |
400 |
200 |
4 |
是 |
64 |
1452.100 |
|
|
tokudb |
400 |
200 |
1 |
是 |
64 |
551.700 |
注:预热时间2分钟,压测时间20分钟,压测结果均符合要求;
总体结论:tokudb推荐用压缩数据,性能比innodb好,在数据量大的情况下表现更明显。
linux禁用文件缓存:# echo 1 > /proc/sys/vm/drop_caches
用tpcc测试对比 innodb 和 tokudb的更多相关文章
- 【原创】oracle的tpc-c测试及方法
大家好,很高兴来到博客园分享自己的所见所得.希望和大家多多交流,共同进步. 本文重点在于简介使用BenchmarkSQL对oracle进行tpcc的测试步骤,只是一个简单入门的过程. 开源测试工具:B ...
- QT5.1.0,QT4.8.0以及VC2010、VC2012的测试对比
QT5.1.0,QT4.8.0以及VC2010.VC2012的交叉测试对比. 测试1: 用VC2012静态编译了QT5.1.0. 编译速度很慢,生成完成后,用VC2012+QT5.1.0进行程序生成, ...
- Oracle的TPCC测试,原来也是个作弊的东西...
http://www.oaktable.net/content/sorted-hash-clusters-rip 根据Jonathan Lewis老先生的测试实例,发觉cluster 的sort功能, ...
- tpcc-mysql 系列二:进行TPCC测试
1:开始测试 tpcc_start -h server_host -P port -d database_name -u mysql_user \ -p mysql_password -w wareh ...
- TPC-C测试
TPC发布的测试标准之一,是专门针对联机事务处理系统(OLTP)的测试标准.1992年发布1.0版本.最新版本5.11,2010年发布. 测试规范中模拟了一个比较复杂并具有代表意义的OLTP应用环境, ...
- Linux下几种常见压缩方式测试对比
目录 Linux下几种常见压缩方式测试对比 参考 简介 测试 总结 Linux下几种常见压缩方式测试对比
- [转帖]TPC-C解析系列02_OceanBase如何做TPC-C测试
TPC-C解析系列02_OceanBase如何做TPC-C测试 http://www.itpub.net/2019/10/08/3333/ 导语: 蚂蚁金服自研数据库OceanBase登顶TPC- ...
- 主流存储引擎详解:Innodb,Tokudb、Memory、MYISAM、Federated
主流存储引擎: Innodb:推荐使用,主力引擎,使用99%以上的场景 Tokudb:高速写入使用,日用量大量写入eg:500G可压缩为50G.适用于访问日志的写入,相对MYISAM有事务性,相对于I ...
- TF卡速度测试对比 Class数越高速度越快
存储卡(TF卡)是手机扩展存储的大杀器,让你多装n部学习资料,多装n个外语听力练习.除了装东西外,存储卡性能不佳也会影响手机的整体性能以及体验的.本文主要针对Android手机,我是懒人,但我讨厌懒人 ...
随机推荐
- [emacs] 使用ggtags浏览代码
[emacs] 使用ggtags浏览代码 // */ // ]]> [emacs] 使用ggtags浏览代码 Table of Contents 1 相关的连接 2 global简介 2.1 ...
- 【Debug】Web开发中,Tomcat正常启动,访问欢迎页404,怎么办?
访问页面出现404是一个会经常遇到的问题.每次开发Web项目时总要掉这个坑里几次,而且还不长记性.今天来总结一下,开发时遇到这个问题的解决思路. 1. 查看访问地址是否正确,有无拼写错误. 越是低级的 ...
- CQRS, Task Based UIs, Event Sourcing agh!
原文地址:CQRS, Task Based UIs, Event Sourcing agh! Many people have been getting confused over what CQRS ...
- unity3D-iOS工程整合爬过的坑~
unity3D-iOS工程整合爬过的坑~ 好久好久没有写博了~ 最近换了一份有意思的新工作,也是当下最热门的新技术,AR技术.笔者之前一直是做iOS开发的,接触了一门全新的技术,兴奋了好久好久,笔者也 ...
- CSS技巧(一):清除浮动
什么是CSS清除浮动? 在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高 ...
- linux 安装nginx
linux系统为Centos6.5 64位 nginx为1.4.7 从http://nginx.org/download/上下载相应的版本 解压 tar -zxvf nginx-1.4.7.tar.g ...
- 数据结构:顺序表(python版)
顺序表python版的实现(部分功能未实现) #!/usr/bin/env python # -*- coding:utf-8 -*- class SeqList(object): def __ini ...
- JVM-绘图展现字节码执行引擎执行过程
在我的上一篇博客JVM-String比较-字节码分析中介绍了String字符串比较的原因,借着分析字节码的机会,我这篇博客将会绘图展现方法内部字节码执行过程. 话不多说,贴上我们将要分析的Java方法 ...
- 第一个随笔,调试中,用的CSS3
希望能在博客园很好的学习并得到技术上的提升!
- 把简单做好也不简单-css水平垂直居中
44年前我们把人送上月球,但在CSS中我们仍然不能很好实现水平垂直居中. 作者:Icarus 原文链接:http://xdlrt.github.io/2016/12/15/2016-12-15 水平垂 ...