TokuMX vs. MongoDB 插入性能对比

TokuDB 的ft tree 用在MongoDB产品TokuMX已经发布。MongoDB 在大量数据(比如1亿条记录)后,插入性能急剧下降。

Tokutek数据 
带索引插入性能对比。 
enter image description here

http://www.tokutek.com/2013/06/iibench-benchmark-tokumx-vs-mongodb/

以上为Tokutek的测试数据,下面为我测试的数据:

笔者实际测试 
生产数据2亿多条导入测试 
先建集合,创建3个索引,包括_id共4个索引。 
TokuMX 5个多小时导完数据,官方MongoDB 2.2.4版本竟然花了2天2夜多,近58个小时 
使用mongostat统计,每分钟取值一个,纵坐标为inserts/s,横坐标为分钟。 
enter image description here

局部放大图: 
enter image description here

磁盘空间占用比较: 
TokuMX 18G,MongoDB 80G 
内存使用比较: 
TokuMX,cacheSize设置为30G,开directio,内存使用完没有cache的。

# free -g
             total       used       free     shared    buffers     cached
Mem:            31         31          0          0          0          0
-/+ buffers/cache:         30          0
Swap:           15          0         15

MongoDB,内存使用完,实际在cache里面

# free -g
             total       used       free     shared    buffers     cached
Mem:            31         31          0          0          0         28
-/+ buffers/cache:          1         29
Swap:           15          0         15

cpu使用: 
未详细记录,TokuMX要高10%左右。 
io: 
MongoDB io要高不少。

总结:TokuMX太让人激动了,没有不使用它的理由,不过目前有些不支持的功能,如geo索引。 
Currently unsupported functionality 
● dropDups option for unique indexes 
● Background Indexing, the “background” option is ignored when creating indexes. 
● Fulltext indexes 
● Geospatial indexes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目突然跑不起来报这个错 Exception in monitor thread while connecting to server 10.18.21.79:27117 com.mongodb.MongoSocketReadException: Exception receiving message at com.mongodb.connection.InternalStreamConnection.translateReadException(InternalStreamConnection.java:536) at com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:421) at com.mongodb.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:290) at com.mongodb.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:255) at com.mongodb.connection.CommandHelper.sendAndReceive(CommandHelper.java:84) at com.mongodb.connection.CommandHelper.executeCommand(CommandHelper.java:34) at com.mongodb.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:91) at com.mongodb.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:51) at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:127) at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:114) at java.lang.Thread.run(Thread.java:748) Caused by: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:210) at java.net.SocketInputStream.read(SocketInputStream.java:141) at com.mongodb.connection.SocketStream.read(SocketStream.java:84) at com.mongodb.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:547) at com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:418)
最新发布
06-09

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值