Uso gridfs al lavoro su uno dei nostri server che fa parte di un sito Web di confronto dei prezzi con statistiche di traffico onorevoli (circa 25k visitatori al giorno). Il server non ha molta RAM, 2gigs e persino la CPU non è molto veloce (Core 2 duo 1.8Ghz) ma il server ha molto spazio di archiviazione: 10Tb (sata) nella configurazione raid 0. Il lavoro che sta facendo il server è molto semplice:
Ogni prodotto sul nostro comparatore di prezzi ha un'immagine (ci sono circa 10 milioni di prodotti in base al db del nostro prodotto) e il compito dei server è scaricare l'immagine, ridimensionarla, memorizzarla su gridfs e consegnarla al browser dei visitatori. .. se non è presente nella griglia ... oppure ... consegnalo al browser dei visitatori se è già memorizzato nella griglia. Quindi, questo potrebbe essere definito come uno "schema cdn tradizionale".
Abbiamo archiviato ed elaborato 4 milioni di immagini su questo server da quando è attivo e funzionante. Il ridimensionamento e l'archiviazione delle cose vengono eseguiti da un semplice script php ... ma di sicuro, uno script python o qualcosa come java potrebbe essere più veloce.
Dimensione dati corrente: 11,23 g
Dimensioni di archiviazione attuali: 12,5 g
Indici: 5
Dimensione dell'indice: 849,65 m
Circa l'affidabilità: questo è molto affidabile. Il server non si carica, la dimensione dell'indice è ok, le query sono veloci
Circa la velocità: Di sicuro, non è veloce come l'archiviazione di file locali, forse il 10% più lento, ma abbastanza veloce da essere utilizzato in tempo reale anche quando l'immagine deve essere elaborata, che nel nostro caso dipende molto da php. Anche i tempi di manutenzione e sviluppo sono stati ridotti: è diventato così semplice cancellare una o più immagini: basta interrogare il db con un semplice comando di cancellazione. Un'altra cosa interessante: quando abbiamo riavviato il nostro vecchio server, con l'archiviazione di file locale (quindi milioni di file in migliaia di cartelle), a volte si blocca per ore perché il sistema stava eseguendo un controllo dell'integrità dei file (questo ha davvero richiesto ore ...). Non abbiamo più questo problema con gridfs, le nostre immagini sono ora memorizzate in grandi blocchi mongodb (file da 2 GB)
Quindi ... nella mia mente ... Sì, gridfs è abbastanza veloce e affidabile da essere utilizzato per la produzione.