我想为我的新项目使用mongodb。问题是,mongo使用预分配文件:mongo db --smallfiles开关缺陷
每个数据文件被预分配到一个特定的大小。 (这是为了防止文件系统碎片等原因。)数据库的第一个文件名为.0,那么.1等.0将为64MB,.1 128MB等,最高可达2GB。一旦文件达到2GB的大小,每个连续的文件也是2GB。因此,如果最后一个数据文件是1GB,那么如果该文件最近被创建,则该文件可能是90%空的。
从这里:http://www.mongodb.org/display/DOCS/Excessive+Disk+Space
而其正常有没有在它的许多2GB的文件。有一个--smallfiles开关,以限制该文件为512MB
--smallfiles =>使用较小的初始文件大小(16MB)和最大大小(512MB)
我想知道使用小文件有利于生产?它有什么缺点。
有noprealloc开关,但它的生产不好。但没有关于小文件的说明。
另一个需要注意的地方是--smallfiles对仲裁者来说很好 - 仲裁者启动时通常会预先分配大量文件(例如日志),因为在启动时它不会但是知道它是一个仲裁者。 – 2012-07-24 00:34:04
@AdamC好点,但你也可以为仲裁者开启日志记录(nojournal = true)。 – Mattias 2012-08-20 17:34:06