Размер файла MongoDB GridFS для относительно небольшого файла

я делаю несколько тестов, чтобы увидеть, можем ли мы использовать GridFS на MongoDB для хранения файлов для будущего приложения; Я'м, используя 10gen 'с C # драйвер для "Загрузить» файл 80Mb на базу данных.

Первое добавление было в порядке и заняло около 3 секунд, что не такслишком плохо на моей тестовой машине; однако добавление того же файла в будущем заняло гораздо больше времени, до 30 секунд, в конце концов MongoDB сказал мне, что ему не хватило памяти и он вышел из строя.

Добавление 10 файлов размером 80 МБ приводит к созданию 8 файлов для моей базы данных до того, как произойдет сбой системы с именем dbaseName.0 до dbaseName.7, причем их размеры будут экспоненциально увеличиваться с 16 МБ до 512 МБ для файлов с 0 по 5, тогда файлы 6 и 7 будут одновременно 512Mb.

Эти файлы имеют размер чуть менее 2 ГБ, очевидно, что при добавлении файла в 10-й раз база данных возрастает до 2 ГБ, что выше моей 32-битной тестовой версии ».предел.

Почему хранение файлов объемом 800 МБ занимает более 2 ГБ? Есть ли обстановка, которую япропустили где-нибудь?

Сохраняет ли MongoDB всю GridFS в оперативной памяти постоянно? Если да, то'суть диска? Если я'у меня только 32 ГБ ОЗУ на моем рабочем сервере, я могу хранить только 32 ГБ в GridFS?

Я использовал EnsureIndexes для моего объекта MongoGridFS и проверил базу данных, которая показывает, что индексы были созданы для GridFS, так что Mongo не долженпопытаться вписать все хранилище данных в оперативную память?

MongoDB отвечает всем нашим потребностям, но нам нужно, чтобы она могла содержать большую коллекцию файлов; я что-то упускаю очевидное?

Трассировки стека:

Mon Oct 15 11:57:15 [conn15] insert busyNow.fs.chunks keyUpdates:0 locks(micros) w:112892 113ms
Mon Oct 15 11:57:15 [conn15] MapViewOfFileEx for /data/db/busyNow.7 failed with errno:8 Not enough storage is available to process this command. (file size is 536608768) in MemoryMappedFile::map

Mon Oct 15 11:57:15 [conn15]  busyNow.fs.chunks Fatal Assertion 16166
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\util\assert_util.cpp(124)                               mongo::fassertFailed+0x75
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\util\mmap_win.cpp(211)                                  mongo::MemoryMappedFile::map+0x4ce
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\mongommf.cpp(182)                                    mongo::MongoMMF::create+0xa3
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\pdfile.cpp(469)                                      mongo::MongoDataFile::open+0x141
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\database.cpp(280)                                    mongo::Database::getFile+0x34f
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\database.cpp(332)                                    mongo::Database::suitableFile+0x129
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\database.cpp(359)                                    mongo::Database::allocExtent+0x41
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\pdfile.cpp(1271)                                     mongo::outOfSpace+0x107
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\pdfile.cpp(1293)                                     mongo::allocateSpaceForANewRecord+0x5d
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\pdfile.cpp(1463)                                     mongo::DataFileMgr::insert+0x493
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\pdfile.cpp(1217)                                     mongo::DataFileMgr::insertWithObjMod+0x33
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\instance.cpp(761)                                    mongo::checkAndInsert+0x72
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\instance.cpp(821)                                    mongo::receivedInsert+0x4cd
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\instance.cpp(434)                                    mongo::assembleResponse+0x62a
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\db\db.cpp(192)                                          mongo::MyMessageHandler::process+0xe8
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\mongo\util\net\message_server_port.cpp(86)                    mongo::pms::threadRun+0x424
Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\third_party\boost\boost\thread\detail\thread.hpp(62)          boost::detail::thread_data::run+0x9Mon Oct 15 11:57:17 [conn15] mongod.exe  ...\src\third_party\boost\libs\thread\src\win32\thread.cpp(16707566)  boost::`anonymous namespace'::thread_start_function+0x47
Mon Oct 15 11:57:17 [conn15] mongod.exe  f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c(314)                _callthreadstartex+0x1b
Mon Oct 15 11:57:17 [conn15] mongod.exe  f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c(292)                _threadstartex+0x64
Mon Oct 15 11:57:17 [conn15]

***aborting after fassert() failure


Mon Oct 15 11:58:33 [initandlisten] connection accepted from 127.0.0.1:56308 #16 (3 connections now open)

Ответы на вопрос(2)

Ваш ответ на вопрос