GridFS использует имя файла в качестве индекса

В настоящее время я работаю над «простой» фотосистемой с mongoDB, используя набор реплик и GridFS.

Принцип простой, много фото кладу с помощью GridFS, клиент знает имя файла, и по имени файла я могу извлечь файл.

Использует ли GridFS имя файла в качестве индекса? Надеюсь, да, я не смог найти это записанным ни в одном официальном документе.

Моя статистика:

     {
        "ns" : "photos.socialphotos.files",
        "count" : 758086,
        "size" : 168295128,
        "avgObjSize" : 222.00004748801587,
        "storageSize" : 220647424,
        "numExtents" : 15,
        "nindexes" : 2,
        "lastExtentSize" : 43311104,
        "paddingFactor" : 1,
        "flags" : 1,
        "totalIndexSize" : 125084624,
        "indexSizes" : {
            "_id_" : 22925504,
            "filename_1_uploadDate_1" : 102159120
        },
        "ok" : 1
    }

РЕДАКТИРОВАТЬ:по reIndex ()коллекции, я выиграл 30 Go, но это все еще слишком много..

Мои индексы:

{
    "v" : 1,
    "key" : {
        "_id" : 1
    },
    "ns" : "photos.socialphotos.files",
    "name" : "_id_"
},
{
    "v" : 1,
    "key" : {
        "filename" : 1,
        "uploadDate" : 1
    },
    "ns" : "photos.socialphotos.files",
    "name" : "filename_1_uploadDate_1"
}

Размер индексов:

"keysPerIndex" : {
    "photos.socialphotos.files.$_id_" : 758086,
    "photos.socialphotos.files.$filename_1_uploadDate_1" : 758086
}

Я никогда не использую _id_, так как я его не храню, можно ли его удалить? Размер индекса составляет 125084624, что означает, что почти все мои фотографии должны храниться в оперативной памяти, что немного странно?

Дополнительные вопросы:

  1. Статистика :mongostats — это основы, есть ли другой хороший инструмент для мониторинга, или мне нужно создать свой собственный инструмент?

  2. Ошибки :Я мог видеть МНОГО (около 100 в секунду ), когда я делаю много вставок, у меня ничего нет на консоли... где я должен исследовать?

  3. Пул соединений с JAVA/Tomcat :Я использую простое подключение веб-приложения Tomcat к MongoDB. Не могли бы вы порекомендовать открывать новое подключение к mongoDB для каждого запроса (Наверное, нет )или сохранять ссылку в качестве singleton на объекте Mongo (с холдером например )или с использованием хорошего пула, но стандартного я не нашел?

Большое спасибо !

5
задан Camille R 16 July 2012 в 16:07
поделиться