web-dev-qa-db-ja.com

openvzでmongodbを実行しています

誰かがmongodbをopenvzで動作させる運がありましたか?

メモリ不足からそれを取得するためのいくつかのヒント、トリック、ハックを探していました

私はメディアテンプルのcentosで実行していますが、サーバーのメモリがすぐに不足します

Openvzでmongoを実行することはお勧めしませんが、それを機能させる方法を誰かが知っているかどうか疑問に思っています

ありがとう

1
Bob

ゲストOSの観点から見たOpenVZの重要な問題の1つは、ホストOSがRAMをオーバーコミットし、VMが保証されている量を一時的に使用できるようになる可能性があることです。これは、多くのRAMを使用するプロセスにとって問題であり、割り当てられると、キャッシュの理由でそのまま維持できると想定します。

IIRCは、Mongoがファイルとメモリを使用する方法では、使用しようとするメモリの量を制限する方法を許可していません。適切と思われる場合は、使用可能なすべてのメモリを使用しようとしますが、OSの残りの部分は少し少なくなり、OpenVZでは、保証された量ではなく、割り当てられた最大量になります。

Windows 2008r2( ここを参照 )で制限する方法の話を見たことがありますが、OpenVZで実行されているCentOSでは役に立ちません。試すことができる1つのオプションは、VMの最大RAM割り当てを保証された割り当てと同じになるように設定する(またはすべてのメモリがオーバーコミットしない仮想化ソリューションに移行する)ことです-これは落胆するはずですMongoとカーネルが不安定なOOM状況を作り出すことから。

3
David Spillett

Virtuozzo/OpenVZは素晴らしいシステムであり、ハードウェアから最大のパフォーマンスを引き出すことができます。ただし、トレードオフとして、ハイパーバイザーシステムよりも多くの調整を行う必要があります。最も重要なことは、「ユーザーBeanカウンター」の監視に慣れて、調整が必要な時期を把握できるようにすることです。

開始するための最良の方法は、「無制限」VMを作成してから、ディスク容量とprivvmpagesのみを制限することです。これにより、ネットワークバッファやOOMの不足などの厄介な問題を防ぐことができます。保証されたページ。この種の設定は、99%のニーズに適しているはずです。

「万が一に備えて」実際のホストに適切な量のスワップがあることを確認してください。優れた監視システムをセットアップすることがどれほど重要かを強調することはできません。

2
Mark