我想爲我的新項目使用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