Es de esperar la degradación de la velocidad a medida que aumenta el número de archivos a los que se accede simultáneamente. A las unidades de disco duro no les gusta acceder en paralelo: cada vez que el cabezal de lectura / escritura necesita cambiar los cilindros, pierde varios milisegundos. Incluso si dos archivos están en el mismo cilindro, o incluso en la misma pista, es posible que deba esperar una rotación para moverse de uno a otro. Si mide el rendimiento de la unidad en megabits por segundo, espere que disminuya exponencialmente a medida que aumenta el acceso paralelo.
fsck
no ayudará con esto: solo repara los daños a la estructura del directorio, no realiza ninguna optimización.
La solución ideal sería cambiar al almacenamiento de estado sólido ya que no tiene ninguna de las limitaciones físicas de los platos giratorios. Pero eso es probablemente un costo prohibitivo.
El siguiente mejor sería utilizar un RAID optimizado para acceso paralelo. Tenga en cuenta que los RAID se pueden configurar para muchos perfiles de rendimiento diferentes, por lo que deberá tomarse un tiempo para aprender la configuración de cualquier hardware y controladores RAID.
Es posible que pueda reducir el problema utilizando el almacenamiento en caché agresivo del sistema de archivos. Si su sistema tiene suficiente RAM, Linux ya debería estar haciendo esto bastante bien. Ejecute un programa top
para ver cuánta RAM libre hay. Pero si los archivos más utilizados no caben en la RAM (o cualquier RAM que pueda adquirir), esto realmente no ayudará.
Una solución para un pobre sería dividir sus archivos en varios discos duros físicos diferentes (no solo en diferentes particiones en el mismo disco). Esa no es realmente una solución escalable a largo plazo y terminaría costándole más que un RAID decente. Pero podría ser una solución rápida si tiene unidades por ahí.
Para cualquier solución que involucre unidades de disco duro, asegúrese de que tengan una velocidad de rotación rápida y una baja latencia de búsqueda.
He escrito un artículo con algunos antecedentes generales sobre el rendimiento del disco duro aquí:
Consejos UNIX - Sistemas de archivos