4

1か月以上の間、mongoDBとの戦争があります。負けるまで=]..。

バトル1。 バトル2。 そして今、新しい問題。繰り返しますが、十分なメモリがありません。

当初、これはVPSのレートでメモリを増やすだけで解決されました。次に、journal=false。しかし今、私はあなたの計画のトップに到達し、メモリを増やし続けることは不可能です。

私のベースでは、4GBのメモリが不足しています。プロジェクト用のデータベースをどのように選択すればよいのでしょうか。mongoDBのメモリが非常に多いとはどこにも書かれていません。mongoDBの約1,000万レコードで4GBのメモリが不足しているのに、1,000万のMySQLデータベースが1.4GBのメモリを簡単に処理できる場合。

私が理解している問題は、多数のインデックスフィールドです。しかし、私はそれぞれデータベースにログインできないので、それらを削除することはできません。彼らは開発の初期段階で私を必要としていましたが、今では私にとって重要ではありません。

教えてください、どういうわけかそれらを削除できますか?データベースのダンプがあります完全にフォルダ全体データベース/データ/データベース4GBのメモリを搭載した私のPCでは、同じ4GBのVPSでデータベースが起動しません。別の方法として、mongoを実行してキーを削除するために、いくつかのVPS/VDSでテスト期間を取ることを考えています。

テスト期間と6GBのメモリを備えたウェブホスティングを知っていますか?

または、代替案がある場合、あなたは何を言うことができますか?

4

1 に答える 1

2

この問題は、データセットのサイズとはほとんど関係がありません。MongoDBは、ストレージエンジンにメモリマップトファイルを使用します。そのため、可能な場合はホットデータのページをメモリにスワップインし始め、かなり積極的にスワップインします(より正確には、OSメモリ管理がスワップインします)。

基本的に、使用可能な限り多くのメモリを使用し、それを回避するためにできることはほとんどありません。使用可能なスペースがある場合、操作中にアクセスされるすべてのデータページ(実際のデータまたはインデックス)はメモリにスワップされます。

ちなみに、これについてはインターネットやmongodb.orgにたくさんの参照があります。どこにも言及されていないと言うのは本当ではありません。

于 2012-08-20T11:55:47.370 に答える