我有一个奇怪的问题。我正在测量具有相似索引的相似数据集的性能(实际上我只是 mognodumped/mongorestored 它)。
一个实例在 vagrant 本地运行(1 个核心、4 个演出等),另一个实例在服务器上运行。
MongoDB的版本是3.0.6。
因此,我在 vagrant 服务器中运行了该导入,并在性能上得到了明显不同的结果。事实上,vagrant 实例执行相同查询的速度比真实服务器快 3 到 5 倍。
所以我检查了db.stats()
输出。以下是不同之处:
现实服务器:
> db.stats()
{
"db" : "komparu_product_acc",
"collections" : 1,
"objects" : 30235,
"avgObjSize" : 147517.09485695386,
"dataSize" : 4460179363,
"storageSize" : 1610596352,
"numExtents" : 0,
"indexes" : 16,
"indexSize" : 2682880,
"ok" : 1
}
这是 vagrant 实例:
> db.stats()
{
"db" : "komparu_product_dev",
"collections" : 4,
"objects" : 30273,
"avgObjSize" : 261799.2074786113,
"dataSize" : 7925447408,
"storageSize" : 9727320048,
"numExtents" : 27,
"indexes" : 17,
"indexSize" : 11233824,
"fileSize" : 36423335936,
"nsSizeMB" : 16,
"extentFreeList" : {
"num" : 52,
"totalSize" : 24781381472
},
"dataFileVersion" : {
"major" : 4,
"minor" : 22
},
"ok" : 1
}
以下是实时服务器收集的统计数据:http: //pastebin.com/9vipBmQm
流浪者也一样:http: //pastebin.com/HbbSi0Pu
如你看到的。Live 服务器运行wiredTiger 数据存储。我可以注意到它对数据的压缩非常紧密(与 MMAPv1 相比)。
更多关注这里是两个环境中相同查询的解释输出:
- 流浪者:http: //pastebin.com/8h3iL5Fh
- 直播: http: //pastebin.com/2DjX4YTg
如何提高wiredTiger 的性能?还是我应该切换回 MMAPv1?
任何提示都是有帮助的!
谢谢!