Ich verwende Gridfs bei der Arbeit auf einem unserer Server, der Teil einer preisvergleichenden Website mit ehrenwerten Verkehrsstatistiken ist (ca. 25.000 Besucher pro Tag). Der Server hat nicht viel RAM, 2 GB und selbst die CPU ist nicht sehr schnell (Core 2 Duo 1,8 GHz), aber der Server hat viel Speicherplatz: 10 TB (Sata) in der RAID 0-Konfiguration. Die Arbeit des Servers ist sehr einfach:
Jedes Produkt in unserem Preisvergleich hat ein Bild (es gibt ungefähr 10 Millionen Produkte gemäß unserer Produktdatenbank). Die Aufgabe des Servers besteht darin, das Bild herunterzuladen, seine Größe zu ändern, es in Grids zu speichern und es an den Besucherbrowser zu liefern. .. wenn es nicht im Raster vorhanden ist ... oder ... es an den Besucherbrowser senden, wenn es bereits im Raster gespeichert ist. Dies könnte also als "traditionelles CDN-Schema" bezeichnet werden.
Wir haben 4 Millionen Bilder auf diesem Server gespeichert und verarbeitet, seit er läuft. Die Größenänderung und Speicherung erfolgt über ein einfaches PHP-Skript ... aber sicher könnte ein Python-Skript oder so etwas wie Java schneller sein.
Aktuelle Datengröße: 11,23 g
Aktuelle Speichergröße: 12,5 g
Indizes: 5
Indexgröße: 849,65 m
Über die Zuverlässigkeit: Dies ist sehr zuverlässig. Der Server wird nicht geladen, die Indexgröße ist in Ordnung, Abfragen sind schnell
Über die Geschwindigkeit: Sicher ist es nicht schnell wie lokaler Dateispeicher, vielleicht 10% langsamer, aber schnell genug, um in Echtzeit verwendet zu werden, selbst wenn das Bild verarbeitet werden muss, was in unserem Fall sehr PHP-abhängig ist. Die Wartungs- und Entwicklungszeiten wurden ebenfalls verkürzt: Es wurde so einfach, ein oder mehrere Bilder zu löschen: Fragen Sie einfach die Datenbank mit einem einfachen Löschbefehl ab. Eine weitere interessante Sache: Wenn wir unseren alten Server mit lokalem Dateispeicher neu starten (also Millionen von Dateien in Tausenden von Ordnern), bleibt er manchmal stundenlang hängen, weil das System eine Dateiintegritätsprüfung durchführte (dies dauerte wirklich Stunden ...). Wir haben dieses Problem nicht mehr mit gridfs, unsere Bilder werden jetzt in großen Mongodb-Blöcken (2 GB-Dateien) gespeichert.
Also ... in meinen Gedanken ... Ja, Gridfs ist schnell und zuverlässig genug, um für die Produktion verwendet zu werden.