2

Windowsで実行されている別のMongoDBでMeteorを使用しています。MongoDBをサービスとして実行しました。

私のMongoDBログは次のものでいっぱいです:

Mon Mar 04 14:15:36 [conn19] info DFM::findAll(): extent 0:55000 was empty, skipping ahead. ns:webfm.graphdata
Mon Mar 04 14:15:38 [conn17] info DFM::findAll(): extent 0:55000 was empty, skipping ahead. ns:webfm.graphdata
Mon Mar 04 14:15:40 [conn16] info DFM::findAll(): extent 0:55000 was empty, skipping ahead. ns:webfm.graphdata
Mon Mar 04 14:15:43 [conn18] warning: can't find plugin [desc]
Mon Mar 04 14:15:43 [conn19] info DFM::findAll(): extent 0:55000 was empty, skipping ahead. ns:webfm.graphdata
Mon Mar 04 14:15:49 [conn18] info DFM::findAll(): extent 0:55000 was empty, skipping ahead. ns:webfm.graphdata
Mon Mar 04 14:16:14 [conn16] warning: can't find plugin [desc]
Mon Mar 04 14:16:20 [conn17] info DFM::findAll(): extent 0:55000 was empty, skipping ahead. ns:webfm.graphdata
Mon Mar 04 14:16:24 [conn16] warning: can't find plugin [desc]

Mon Mar 04 14:16:32 [conn20] info DFM::findAll(): extent 0:60000 was empty, skipping ahead. ns:webfm.history
Mon Mar 04 14:16:34 [conn16] warning: can't find plugin [desc]

「findAll():extent 0:55000 ...」を見つけることができることから、アプリケーションがデータを頻繁に削除することに関係しているように見えました。あれは正しいですか?

プラグイン[desc]が見つからないのはどうですか?そのプラグインは何ですか?どうすれば修正できますか?

4

3 に答える 3

1

このメッセージは、実際には情報を提供するものであり、無害です。エクステント全体が空だったことがわかります。これは、最近大量のデータを削除した場合に発生する可能性があります。

compactコマンドを使用すると、コレクションを最適化および圧縮できます (基本的には、コレクションをディスクに再書き込みし、コレクションのインデックスを再作成します)。これにより、ログ メッセージが削除されます。圧縮はリソースを大量に消費する操作であることに注意してください。

于 2013-03-28T17:30:52.130 に答える
1

私が見つけたものから、「findAll():extent 0:55000...」は、アプリケーションがデータを頻繁に削除することに関係しているようです。あれは正しいですか?

ニックの回答によると、メッセージextent 0:55000 was empty, skipping aheadは頻繁な削除に関連しています。これは、エクステントの場所である空のデータ エクステントをスキップするときに発行される警告0:55000です。通常、そのコレクションにデータを追加すると、スペースは再利用されます。

このコレクションを頻繁に追加および削除し、ディスク容量が懸念される場合は、次のことも検討できます。

  • usePowerof2Sizes削除されたスペースをより効果的に再利用するために、このコレクション (MongoDB 2.2 以降) のフラグを有効にします。
  • 一時的なコレクションを別のデータベースに保存し、完了したらデータベースを削除します (頻繁に圧縮や修復を実行するのではなく)

プラグインが見つからない [desc] はどうですか? そのプラグインは何ですか?どうすれば修正できますか?

これは通常、無効なインデックス定義があり、それを処理するインデックス「プラグイン」が見つからないことを意味します。descこの例では、ではなくのプロパティで宣言されたインデックス付きフィールドがあると思います-1

次のコマンドでインデックス定義を確認できますdb.collection.getIndexes()

use webfm
db.graphdata.getIndexes()
于 2013-04-02T23:12:47.407 に答える
0

これが問題であるとは断言できません。あまりにも冗長な mongodb を実行している可能性があるため、デバッグの理由で警告とプロセスに過度の詳細が表示されます。問題やバグがある場合、問題を特定できるため、これは良いことです。

しかし、それを削除したい場合:

「v」の数を減らすか、起動コマンドで削除してください。

構成ファイルを使用する場合は、これらのいずれかを false に変更します。

vvvvv = false
vvvv = false
vvv = false
vv = false
v = false
于 2013-03-04T20:08:56.683 に答える