Tengo que mover alrededor de 320,000 archivos, 80,000 carpetas (solo 100 Gb) de datos. Algunos archivos son> 1GB pero la mayoría son <1kB.
He echado un vistazo al método más rápido de copiar archivos, pero no estoy seguro de cuán útil será alguno de estos, mi problema no es la velocidad de transferencia pura, sino la rapidez con que Windows puede manejar el IO de 320,000 archivos.
¿Crees que veré beneficios de velocidad usando xcopy, robocopy, teracopy o fastcopy?
Nos tomó mucho tiempo (más de 12 horas) copiarlos una vez (usando robocopy), y odio tener que volver a hacerlo. ¿Qué puedo hacer para acelerarlo?
El material está en una unidad externa USB 2.0.
Encontré que la forma más eficiente de copiar grandes cantidades de archivos era transmitirlos primero a archivos ISO y luego copiar los ISO. De esta manera, el disco no se preocupa al emitir los miles de comandos necesarios para copiar archivos.
Por supuesto, esto depende de la estructura de su directorio. Tuve la suerte de tener un nuevo directorio creado a intervalos de 4.7GB, por lo que fue mucho más fácil crear un VBScript para automatizar el proceso.
fuente
Es casi seguro que experimentará un mejor rendimiento general para la secuencia de transferencia si primero empaqueta los archivos de origen en un único archivo comprimido (tar o comprimido en zip, etc.), luego transfiere el archivo a través de la red y luego desempaqueta el archivo en el destino.
No olvide que cuando transfiere el archivo a través de la red, será mejor que use ftp (u otro protocolo de transferencia orientado a archivos) que una simple copia de archivo SMB.
Utilizando un proceso como el anterior, transfiero rutinariamente directorios de aplicaciones de aproximadamente 60 GB (con aproximadamente 50,000-75,000 archivos) entre múltiples centros de datos separados geográficamente (EE. UU., Europa, Asia). La diferencia entre transferir un archivo a la vez y transferir un archivo comprimido a través de FTP es de 10 a 40 veces más rápido.
Rsync también puede ser tu amigo aquí (como puede serlo en muchos otros escenarios de transferencia de archivos).
Si está abierto a opciones comerciales, una solución de transmisión binaria basada en UDP que puede empujar bits a través de múltiples flujos UDP podría ser de valor para usted. Echa un vistazo a http://www.filecatalyst.com/
fuente
Otra opción sería usar Bittorrent usando un rastreador incorporado o DHT activado. El cliente agruparía todos los archivos en bloques (use 2 MB o más si está disponible). En el extremo receptor, recibirá archivos en grandes bloques a medida que se escriben en el disco duro. Esto ayuda a consolidar sus archivos pequeños en fragmentos de 2 MB y obtiene mejores tasas de transferencia y
fuente