2011-12-30 9 views
0

私は単純なアプリケーションのためにMongoDBを手に取っていて、いくつかの望ましくない動作を経験しています。基本的には、私のコレクションは多くの(文字列、int)タプルで構成されています。平均でそれぞれが文書として(_idを含む)64バイト未満を取るべきです。文字列に応じてコレクションにインデックスが1つあります。MongoDBのサイズが爆発的なのはなぜですか?

約800万のドキュメントを追加した後、私は2.5ギガバイトの制限(私は32ビットOSを持っています)を打ったので、私は新しいものを追加できません。私は何か間違っているように思えます。なぜなら、私はそれがその大きさになるべき理由を見ないからです。

トラブルシューティングの方法に関するご意見やご提案はありますか? 明らかに、私はすぐに64ビットOSに切り替えるつもりですが、まずこの動作を理解したいと思います。

アップデート(2):デシベル一度

は "いっぱいに"、これは、コレクションの統計情報の出力コマンドです:

> db.hits.stats() 
{ 
    "ns" : "testdb.hits", 
    "count" : 8716619, 
    "size" : 611603992, 
    "avgObjSize" : 70.16527761509366, 
    "storageSize" : 828148736, 
    "numExtents" : 21, 
    "nindexes" : 2, 
    "lastExtentSize" : 145841408, 
    "paddingFactor" : 1, 
    "flags" : 1, 
    "totalIndexSize" : 1007568128, 
    "indexSizes" : { 
     "_id_" : 360636416, 
     "article_-1" : 646931712 
    }, 
    "ok" : 1 
} 

、それはstatsコマンドデシベルの出力です:

> db.stats() 
{ 
    "collections" : 3, 
    "objects" : 8716625, 
    "avgObjSize" : 70.16526281674386, 
    "dataSize" : 611604284, 
    "storageSize" : 828153856, 
    "numExtents" : 23, 
    "indexes" : 2, 
    "indexSize" : 1007568128, 
    "fileSize" : 3154116608, 
    "ok" : 1 
} 

更新(3): DBファイル自体:

-rw------- 1 mongodb nogroup 64M 2011-11-14 14:06 testdb.0 
-rw------- 1 mongodb nogroup 128M 2011-11-14 14:06 testdb.1 
-rw------- 1 mongodb nogroup 256M 2011-11-14 14:06 testdb.2 
-rw------- 1 mongodb nogroup 512M 2011-11-14 14:06 testdb.3 
-rw------- 1 mongodb nogroup 512M 2011-11-14 14:06 testdb.4 
-rw------- 1 mongodb nogroup 512M 2011-11-14 14:06 testdb.5 
-rw------- 1 mongodb nogroup 512M 2011-11-14 11:20 testdb.6 
-rw------- 1 mongodb nogroup 512M 2011-11-10 10:51 testdb.7 
-rw------- 1 mongodb nogroup 16M 2011-11-14 14:05 testdb.ns 
+2

'db.that_collection.stats()'の出力は何ですか(質問に追加)? –

+0

@SergeiTulentsevが添付されました。ありがとうございます。 – r0u1i

+0

これは1.8Mのドキュメントしかありません。このようなコレクションがいくつかありますか? –

答えて

1

データベースファイルのサイズを投稿できますか?データそのものは120MBで、2つのインデックスの場合は180MBですので、2GBの制限に合うと正当に期待していますが、おそらくaggressive preallocation of reserved space to avoid file system fragmentationの場合はconfiguredとなるmongodbだと思います。

+0

どうすればいいですか? – r0u1i

+0

あなたのdbpathはどこにありますか?そのフォルダ内のファイルサイズはどのくらいですか? – milan

+0

投稿、ありがとう。 – r0u1i

関連する問題