Mongodb内存数据库
Mongodb的商业版本已经支持内存数据库,但是没有开源,从其官网说明来看,其实也是通过WiredTiger存储引擎实现的.我对mongodb代码做了一些修改,基于官方(r3.2.16)分支,使其成为内存数据库,配置文件上和官网的类似.关于mongodb支持内存数据库的说明见: https://docs.mongodb.com/manual/core/inmemory/
代码github地址: https://github.com/yanglimingchn/mongo
如下是我做的一点压力测试结果:
硬件配置:
cpu: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz 24核心
mem: 125g
测试数据:
测试使用的是ycsb工具,配置文件如下
# Yahoo! Cloud System Benchmark
# Workload A: Update heavy workload
# Application example: Session store recording recent actions
#
# Read/update ratio: 50/50
# Default data size: 1 KB records (10 fields, 100 bytes each, plus key)
# Request distribution: zipfian
recordcount=15728640
operationcount=1000000
workload=com.yahoo.ycsb.workloads.CoreWorkload
readallfields=true
readproportion=1
updateproportion=0
scanproportion=0
insertproportion=0
requestdistribution=zipfian
测试对比了mongodb内存数据库和redis
并发连接数 | mongodb Throughput(ops/sec) | redis Throughput(ops/sec)
------- | ------- | -------
100 | 36818.85125184094 | 35942.779095679674
200 | 36255.528968167644 | 36824.274561791135
300 | 35865.432895775055 | 36490.969406561
400 | 35217.46786406057 | 35547.97198819807
500 | 34995.62554680665 | 33195.02074688797
mongodb与redis的配置文件见附件,测试的时候都只是单实例,没有从节点.
最后更新:2017-10-24 12:03:50