6

これは、MongoDBを使用している私による最初のプロジェクトです。

私はそれをlinode(XENを使用するVPS)でホストし、「top」でメモリ使用量をチェックしています。

mongodプロセスは約150MBのメモリを使用しているようです。確認したところ、接続はありませんでした。RockMongoを使用して管理しています。私の主なデータベース統計は-

Size - 464m 
Storage Size - 83.99m
Data Size - 66.4m
Index Size - 49.33m
Collections - 5
Objects - 584850

cronジョブの実行中には、1分あたり約75以上の多くのクエリが発生します。しかし、先ほど申し上げたように、メモリ使用量を確認したところ、接続がありませんでした。

の出力db.serverStatus();

注-実行する前にmongodを再起動しdb.serverStatus();ましたが、メモリ使用量は40MBでした。

{
   "retval": {
     "version": "1.6.5",
     "uptime": 790,
     "uptimeEstimate": 783,
     "localTime": "Mon, 07 Feb 2011 00: 51: 04 -0500",
     "globalLock": {
       "totalTime": 790027671,
       "lockTime": 376381,
       "ratio": 0.00047641495838188,
       "currentQueue": {
         "total": 0,
         "readers": 0,
         "writers": 0
      }
    },
     "mem": {
       "bits": 64,
       "resident": 38,
       "virtual": 957,
       "supported": true,
       "mapped": 288
    },
     "connections": {
       "current": 2,
       "available": 9598
    },
     "extra_info": {
       "note": "fields vary by platform",
       "heap_usage_bytes": 152448,
       "page_faults": 0
    },
     "indexCounters": {
       "btree": {
         "accesses": 1,
         "hits": 1,
         "misses": 0,
         "resets": 0,
         "missRatio": 0
      }
    },
     "backgroundFlushing": {
       "flushes": 13,
       "total_ms": 1,
       "average_ms": 0.076923076923077,
       "last_ms": 0,
       "last_finished": "Mon, 07 Feb 2011 00: 50: 54 -0500"
    },
     "cursors": {
       "totalOpen": 0,
       "clientCursors_size": 0,
       "timedOut": 0
    },
     "opcounters": {
       "insert": 0,
       "query": 57,
       "update": 0,
       "delete": 0,
       "getmore": 0,
       "command": 46
    },
     "asserts": {
       "regular": 0,
       "warning": 0,
       "msg": 0,
       "user": 0,
       "rollovers": 0
    },
     "ok": 1
  },
   "ok": 1
}

私の友人は、同じ量のRAM(1024 MB)を搭載したlinodeでWordPressブログを運営しています。彼のMySQLの使用法はわずか20.48と約を示しています。12人のユーザーは、彼のサイトで「常時サーフィン」(常時オン)のようです。

これにより、MongoDBは私にとって良い選択ではなく、MySQLに固執する必要があったと感じます。

皆さん、ありがとうございました。

4

2 に答える 2

11

その量のメモリを「使用」することは、見た目ほど悪くはありません... MongoDBは(少なくとも)使用可能なメモリを大量に消費しますが、OSのVMMに任せて、メモリを解放するように指示します。必要。(MongoDBドキュメントのキャッシングを参照してください。)

ほとんどの場合、そのメモリをキャッシュに「使用」しているため、処理速度が大幅に向上します。

MongoDBを再起動することで、すべてのメモリを解放できるはずです。

ただし、ある程度、MongoDBは実際にはメモリを積極的に「使用」していません...この回答の詳細については、以下をお読みください。

Mongodbで使用されているキャッシュを解放するにはどうすればよいですか?

于 2011-02-07T06:07:01.503 に答える
7

メモリ管理はOS次第です。

読む

http://blog.mongodb.org/post/101911655/mongo-db-memory-usage

基本的に、現時点ではメモリ使用量に影響を与える方法はありません....そして言及:メモリマップトファイルについて学び、メモリマップトファイルのメモリ使用量と実際のメモリ使用量を混同しないでください。

于 2011-02-07T06:40:14.003 に答える