Sto scrivendo un'app che deve memorizzare molti file fino a circa 10 milioni.Archiviazione e accesso a 10 milioni di file in Linux
Sono attualmente denominati con un UUID e saranno circa 4 MB ciascuno ma sempre della stessa dimensione. Leggere e scrivere da/a questi file sarà sempre sequenziale.
domande2 principali sto cercando risposte per:
1) Quali filesystem sarebbe meglio per questo. XFS o ext4? 2) Sarebbe necessario memorizzare i file sotto le sottodirectory per ridurre il numero di file all'interno di una singola directory?
Per la domanda 2, noto che le persone hanno tentato di scoprire il limite XFS per il numero di file che è possibile archiviare in una singola directory e non hanno trovato il limite superiore a milioni. Non hanno notato problemi di prestazioni. Che ne dici di ext4?
Cerca su Google googling con persone che fanno cose simili, alcune persone hanno suggerito di memorizzare il numero di inode come un collegamento al file invece del nome del file per le prestazioni (questo è in un indice di database, che sto usando anche). Tuttavia, non vedo un'API utilizzabile per aprire il file in base al numero di inode. Sembra che sia più un suggerimento per migliorare le prestazioni di ext3 che non intendo usare a proposito.
Quali sono i limiti di ext4 e XFS? Quali sono i vantaggi in termini di prestazioni di uno rispetto all'altro e potresti vedere un motivo per utilizzare ext4 su XFS nel mio caso?
Vedere ad es. http://lwn.net/Articles/400629/ – nos