0

私は MongoDB 2.4 を使用しています。初めて mongo を起動すると、1 つのサーバーで 9 GB のジャーナリング ファイルが取得され、2 番目のサーバーではジャーナリング用のファイルが 0.5 GB しか取得されません。最初のサーバーでは、MongoDB の読み込みに 5 分かかります。2番目のものでは数秒かかります。両方のインスタンスにはデータがなく、初めて実行されます。各サーバーは独立して動作し、両者は関連していません。各サーバーには独自のシャードがあります (すべてのシャード - そのうちの 3 つが同じサーバーにあります)。

つまり、私が持っている各サーバーについて:

/usr/mongodb/bin/mongod --configsvr --dbpath /data/svr1 --port 27019

/usr/mongodb/bin/mongod --configsvr --dbpath /data/svr2 --port 27020

/usr/mongodb/bin/mongod --configsvr --dbpath /data/svr3 --port 27021

/usr/mongodb/bin/mongod --dbpath /data/db1 --port 27010

/usr/mongodb/bin/mongod --dbpath /data/db2 --port 27011

/usr/mongodb/bin/mongod --dbpath /data/db3 --port 27012

/usr/mongodb/bin/mongos --configdb localhost:27019,localhost:27020,localhost:27021

シャードを作成するスクリプト:

sh.addShard("localhost:27010");

sh.addShard("localhost:27011");

sh.addShard("localhost:27012");

sh.enableSharding("somescheme");

最初のジャーナリング用に 9 GB のファイルを取得し、2 番目のファイルで 0.5 GB を取得するのはなぜでしょうか? 1 つ目はより大きなハードディスクを搭載し、SSD ではありません。2 つ目は SSD で小さいものです。何か案は?ありがとう!!!

4

1 に答える 1

0

MongoDB は、そのほうがよいと判断した場合、ジャーナル ファイルを事前に割り当てます。次のようなログを確認してください。

Thu Mar 10 20:49:33 [initandlisten] preallocating a journal file db/journal/prealloc.0
Thu Mar 10 20:52:49 [initandlisten] preallocating a journal file db/journal/prealloc.1
于 2013-06-19T05:35:12.740 に答える