私は奇妙な問題を抱えています。同様のインデックスを持つ同様のデータセットでパフォーマンスを測定しています(実際には、mognodumped/mongorestored だけです)。
1 つのインスタンスは 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
}
そして、ここに浮浪者のインスタンスがあります:
> 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
vagrant の場合も同じです: http://pastebin.com/HbbSi0Pu
ご覧のように。ライブ サーバーは、wiredTiger データ ストレージを実行します。そして、(MMAPv1 と比較して) 非常にタイトにデータが圧縮されていることがわかります。
さらに懸念がある場合は、両方の環境での同じクエリの説明出力を次に示します。
ワイヤードタイガーのパフォーマンスを向上させるにはどうすればよいですか? それとも MMAPv1 に戻す必要がありますか?
どんなヒントも役に立ちます!
ありがとうございました!