Por el momento, estoy ejecutando rsync para 2,2 millones de archivos en total de 250 GB y eso solo toma archivos de 700K en 6 horas.
¿Alguien conoce una herramienta como rsync que pueda hacer esto con múltiples hilos para que vaya más rápido?
Por el momento, estoy ejecutando rsync para 2,2 millones de archivos en total de 250 GB y eso solo toma archivos de 700K en 6 horas.
¿Alguien conoce una herramienta como rsync que pueda hacer esto con múltiples hilos para que vaya más rápido?
Respuestas:
Dudo que la CPU sea el factor limitante aquí. Lo más probable es que esté limitado tanto por el ancho de banda de la red para la transferencia como por el disco IO; especialmente latencia para todas esas llamadas estadísticas.
¿Puedes dividir la jerarquía del sistema de archivos en fragmentos más pequeños para procesar en paralelo?
¿Cuáles son los archivos de origen y qué los escribe o modifica? ¿Sería posible enviar cambios a medida que ocurren a nivel de aplicación?
Si el subsistema de disco del servidor receptor es una matriz con múltiples discos, ejecutar múltiples procesos rsync puede mejorar el rendimiento. Estoy ejecutando 3 procesos rsync para copiar archivos a un servidor NFS (RAID6 con 6 discos por grupo de ataque) para saturar Gigabit Ethernet.
Este chico informa sobre un arnés básico de Python que genera múltiples procesos rsync http://www.reliam.com/company/featured_geek
Puede considerar revisar el clon cp multiproceso para Linux (código abierto): http://static.usenix.org/event/lisa10/tech/slides/kolano.pdf