Mongodb記憶體資料庫

yanglm_28發表於2017-10-24

Mongodb的商業版本已經支援記憶體資料庫,但是沒有開源,從其官網說明來看,其實也是通過WiredTiger儲存引擎實現的.我對mongodb程式碼做了一些修改,基於官方(r3.2.16)分支,使其成為記憶體資料庫,配置檔案上和官網的類似.關於mongodb支援記憶體資料庫的說明見: https://docs.mongodb.com/manual/core/inmemory/#storage-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的配置檔案見附件,測試的時候都只是單例項,沒有從節點.


相關文章