7

異なる量のRAMを搭載したサーバーを使用してMongoDB1.8でレプリカセットをセットアップできますか?

  • server1:5gb
  • server2:2GB
  • server3:4GB

はいの場合、長所と短所は何ですか?

4

2 に答える 2

5

いいえ、同じ RAM は必要ありません。(はい、説明どおりにレプリカ セットを設定できます。)

MongoDB はすべてのキャッシュにメモリ マップト ファイルを使用します。つまり、キャッシュ ページングは​​オペレーティング システムによって処理されます。より多くのメモリを備えたレプリカは、より多くのデータベースをメモリに保持します。より少ないものは、より多くをディスクにページングします。

可能であれば、MongoDB は最終的にデータベース全体をメモリに取り込みます。読み取り用に 2 つのレプリカを使用し、書き込み用に 1 つのレプリカを使用している場合は、読み取り用に 5 GB と 4 GB のマシンを使用すると、RAM にヒットする可能性が高くなります。

于 2011-05-12T22:48:04.570 に答える
3

はい、この方法でレプリカ セットを構成できます。

はいの場合、長所と短所は何ですか?

これは、レプリカ セットの主な機能を説明するドキュメントです。RAM の違いに照らしてこれらを見てみましょう。

長所:

  • コンピュータの数が多いほど、データの冗長性が向上します。少なくとも 2GB のノードを持つということは、データのコピーがもう 1 つあるということです。
  • レプリカ セットに完全な 3 つのノードがあると、メンテナンスのために 1 つのノードを簡単に停止できます。

短所:

  • さまざまなサイズのサーバーを使用することは、自動フェールオーバーには適していません。5GB サーバーがプライマリであるとしましょう。サーバーがダウンして 2GB サーバーが勝利するとどうなりますか? 自動化されたフェールオーバーはまだありますが、パフォーマンスが大幅に低下した可能性があります。
  • 読み取りスケーリングがうまく機能しない場合があります。読み取りパターンによっては、2 GB サーバーに読み取りを送信すると、多くの余分なディスク ヒットが発生し、パフォーマンスが低下する可能性があります。

したがって、ここでの大きな問題は、実際にはパフォーマンスの 1 つです。開発セットアップのためにこれを行っているだけであれば、基本的には機能します。しかし、本番環境では、アプリが完全に機能しなくなるリスクがあります。アプリが 4 GB 以上の RAM に慣れていて、突然 2 GB に落ちた場合、使用できなくなる可能性があります。

ほとんどの運用セットアップでは、別の "同等の能力を持つ" コンピューターにフェールオーバーする必要があります。

于 2011-05-13T23:19:54.113 に答える