884
技術社區[雲棲]
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