测试环境 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的更多相关文章

  1. 【原创】oracle的tpc-c测试及方法

    大家好,很高兴来到博客园分享自己的所见所得.希望和大家多多交流,共同进步. 本文重点在于简介使用BenchmarkSQL对oracle进行tpcc的测试步骤,只是一个简单入门的过程. 开源测试工具:B ...

  2. 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进行程序生成, ...

  3. Oracle的TPCC测试,原来也是个作弊的东西...

    http://www.oaktable.net/content/sorted-hash-clusters-rip 根据Jonathan Lewis老先生的测试实例,发觉cluster 的sort功能, ...

  4. tpcc-mysql 系列二:进行TPCC测试

    1:开始测试 tpcc_start -h server_host -P port -d database_name -u mysql_user \ -p mysql_password -w wareh ...

  5. TPC-C测试

    TPC发布的测试标准之一,是专门针对联机事务处理系统(OLTP)的测试标准.1992年发布1.0版本.最新版本5.11,2010年发布. 测试规范中模拟了一个比较复杂并具有代表意义的OLTP应用环境, ...

  6. Linux下几种常见压缩方式测试对比

    目录 Linux下几种常见压缩方式测试对比 参考 简介 测试 总结 Linux下几种常见压缩方式测试对比

  7. [转帖]TPC-C解析系列02_OceanBase如何做TPC-C测试

    TPC-C解析系列02_OceanBase如何做TPC-C测试 http://www.itpub.net/2019/10/08/3333/   导语: 蚂蚁金服自研数据库OceanBase登顶TPC- ...

  8. 主流存储引擎详解:Innodb,Tokudb、Memory、MYISAM、Federated

    主流存储引擎: Innodb:推荐使用,主力引擎,使用99%以上的场景 Tokudb:高速写入使用,日用量大量写入eg:500G可压缩为50G.适用于访问日志的写入,相对MYISAM有事务性,相对于I ...

  9. TF卡速度测试对比 Class数越高速度越快

    存储卡(TF卡)是手机扩展存储的大杀器,让你多装n部学习资料,多装n个外语听力练习.除了装东西外,存储卡性能不佳也会影响手机的整体性能以及体验的.本文主要针对Android手机,我是懒人,但我讨厌懒人 ...

随机推荐

  1. NET开发学习项目资源(2)

    NET开发学习项目资源 击标题链接即可下载. 目录: 1.征婚交友网站 前台交友信息和后台会员管理两大部分组成. 前台功能模块 该模块主要包括查询交友信息.显示交友信息.会员登录.会员信息管理.修改会 ...

  2. 2.Java基础之Runtime对象

    毕向东老师Java基础学习笔记——Runtime对象 今天学习Java中的Runtime对象后,感觉这个对象对我们主要有以下几点用处. 1.使用java代码打开本地可执行文件,比如打开一个计算器. 2 ...

  3. OpenCV2邻域和模板操作

    在图像处理中,通过当前位置的邻域像素计算新的像素值是很常见的操作.当邻域包含图像的上几行和下几行时,就需要同时扫描图像的若干行,这就是图像的邻域操作了.至于模板操作是实现空间滤波的基础,通常是使用一个 ...

  4. Elasticsearch 教程--搜索

    搜索 – 基本工具 到目前为止,我们已经学习了Elasticsearch的分布式NOSQL文档存储,我们可以直接把JSON文档扔到Elasticsearch中,然后直接通过ID来进行调取.但是Elas ...

  5. iOS-重回block小白之路

    在我刚刚接触iOS开发的时候,是通过MJ老师讲的OC基础入门的,iOS圈的人应该基本都知道MJ大神吧,即便如此大神,讲解完block之后我依然感觉晕晕乎乎的,直到后来真正进公司做项目,依然感觉这是自己 ...

  6. MVC学习系列14--Bundling And Minification【捆绑和压缩】--翻译国外大牛的文章

    这个系列是,基础学习系列的最后一部分,这里,我打算翻译一篇国外的技术文章结束这个基础部分的学习:后面打算继续写深入学习MVC系列的文章,之所以要写博客,我个人觉得,做技术的,首先得要懂得分享,说不定你 ...

  7. 在Hibernate框架中详谈一级缓存

    在学习Hibernate的过程中我们肯定会碰上一个名词---缓存,一直都听说缓存机制是Hibernate中的一个难点,它分为好几种,有一级缓存,二级缓存和查询缓存 今天呢,我就跟大家分享分享我所理解的 ...

  8. 基于CkEditor实现.net在线开发之路(4)快速布局,工具箱,模板载入,tab选项卡简单说明与使用

    上一章给常用的from表单控件属性页面,进行了简单说明和介绍,但是由于是在网页中做界面设计,操作肯定没有桌面应用程序方便,便捷,为了更方便的布局与设计,今天我主要说一下快速布局,工具箱,tab选项卡, ...

  9. Java04

      0.面向对象(Object Oriented:OO):     0.OOA(面向对象分析) OOD(面向对象的设计) OOP(面向对象编程)     1.是软件开发方法     2.扩展的领域:数 ...

  10. 【JAVA并发编程实战】11、有界缓存的实现

    1.有界缓存的基类 package cn.xf.cp.ch14; /** * *功能:有界缓存实现基类 *时间:下午2:20:00 *文件:BaseBoundedBuffer.java *@autho ...