2

私のサーバー RAM は 30 GB ですが、約 5 GB の静的データベース (書き込みを受信することさえありません) があります。複雑な集計をユーザーにできるだけ早く返すことに重点を置いているため、(a) インデックスと (b) データセット全体を完全に RAM に格納し、(c ) は、Mongo サーバーが起動するたびに自動的にそこに保存されます。現在、私の主なボトルネックは、グループ コマンドを実行して、何百万もの行から一意の要素を見つけることです。

私の質問は、新しい Mongo/WiredTiger で実行中に (a)、(b)、または (c) のいずれかを実行するにはどうすればよいですか? 「タッチ」コマンドが WiredTiger で機能しないことはわかっているため、インターネット上のほとんどの情報は古くなっているようです。(a)、(b)、または (c) は既に自動的に実行されていますか? このユースケースでは、これらの各ステップを実行するべきではありませんか?

4

1 に答える 1

0

通常、何もする必要はありません。ディスク ページは、要求に応じて RAM にロードされ、そこにとどまります。空きメモリがなくなると、古い (未使用の) ページがアンロードされ、それらを必要とする他のプログラムで使用されます。

データベース全体を RAM に格納する必要がある場合は、RAM ディスクを使用して、mongo にそれをストレージ デバイスとして使用するように指示できます。

インデックスやデータ構造を修正することをお勧めします。正しいものを使用すると、パフォーマンスに大きな違いが生じる可能性があります。秒対時間について話しています。

于 2015-07-22T21:00:33.160 に答える