我的问题:MongoDB在大型集合上的写入性能不佳
开始:性能是70,000 doc / sec(空集合)
有一段时间,我的收藏品越来越大了
结束:性能<&lt; 10,000 doc / sec(收集4亿个文档)
我的记录如下:
Write Performance with Time
Write Performance with Collection
然后,我在同一个数据库中创建一个新集合,
我同时写了两个收藏
大集合(ns:&#34; rf1.case1&#34;)性能仍然很慢,
但新收集(ns:&#34; rf1.case2&#34;)表现非常快。
我已经阅读了MongoDB poor write performance on large collections with 50.000.000 documents plus,但我仍然不知道!
我的配置错了吗?
3台服务器的硬件规格相同:
我的情景:
There are 3 shards(Replica Set):
Server1 : primary(sh01) + secondary(sh03) + arbiter(sh02) + configsvr + mongos
Server2 : primary(sh02) + secondary(sh01) + arbiter(sh03) + configsvr + mongos
Server3 : primary(sh03) + secondary(sh02) + arbiter(sh01) + configsvr + mongos
Mongod样本:
/usr/local/mongodb/bin/mongod --quiet --port 20001 --dbpath $s1 --logpath $s1/s1.log --replSet sh01 --shardsvr --directoryperdb --fork --storageEngine wiredTiger --wiredTigerCollectionBlockCompressor snappy --wiredTigerCacheSizeGB 8
两个收藏:
(chunksize = 64MB)
rf1.case1
shard key: { "_id" : "hashed" }
chunks:
host1 385
host2 401
host3 367
too many chunks to print, use verbose if you want to force print
rf1.case2
shard key: { "_id" : "hashed" }
chunks:
host1 11
host2 10
host3 10