Използвам gridfs на работа на един от нашите сървъри, който е част от уебсайт за сравняване на цени с достойни статистики за трафик (около 25 000 посетители на ден). Сървърът няма много RAM, 2gigs и дори процесорът не е много бърз (Core 2 duo 1.8Ghz), но сървърът има много място за съхранение:10Tb (sata) в конфигурация на raid 0. Работата, която сървърът върши, е много проста:
Всеки продукт в нашия ценови сравнител има изображение (има около 10 милиона продукта според нашата продуктова база данни), а задачата на сървърите е да изтеглят изображението, да го преоразмерят, да го съхраняват в gridfs и да го доставят до браузъра на посетителите. .. ако не присъства в мрежата... или... го доставете на браузъра на посетителите, ако вече е съхранен в мрежата. Така че това може да се нарече „традиционна cdn схема“.
Съхранили сме и обработихме 4 милиона изображения на този сървър, откакто е стартиран и работи. Преоразмеряването и съхраняването на нещата се извършват от обикновен php скрипт... но със сигурност скрипт на python или нещо като java може да бъде по-бърз.
Текущ размер на данните:11,23 g
Текущ размер за съхранение:12,5 g
Индекси :5
Индексен размер:849,65 м
Относно надеждността:Това е много надеждно. Сървърът не се зарежда, размерът на индекса е наред, заявките са бързи
Относно скоростта:Със сигурност не е ли бързо, колкото локалното съхранение на файлове, може би 10% по-бавно, но достатъчно бързо, за да се използва в реално време, дори когато изображението трябва да бъде обработено, което в нашия случай е много зависимо от php. Времената за поддръжка и разработка също бяха намалени:стана толкова лесно да изтриете едно или няколко изображения:просто подайте заявка към db с проста команда за изтриване. Друго интересно нещо:когато рестартирахме стария си сървър с локално съхранение на файлове (тогава милиони файлове в хиляди папки), той понякога виси с часове, защото системата извършваше проверка на целостта на файла (това наистина отне часове...). Вече нямаме този проблем с gridfs, нашите изображения вече се съхраняват в големи mongodb парчета (2 GB файлове)
Така че... мисля... Да, gridfs е достатъчно бърз и надежден, за да се използва за производство.