Cuál es la forma más rápida de transferir archivos grandes entre dos ordenadores de la misma red?

¿Cuánto dinero estás dispuesto a gastar?

Pero en serio, la respuesta depende de un montón de cosas. Para simplificar, digamos que hay dos sistemas, ordenadores de sobremesa o servidores, que tienen archivos almacenados en dispositivos como discos, y las dos máquinas están conectadas por una red.

En esta configuración, cada cosa tiene un límite de ancho de banda, y cualquiera de ellos podría ser el factor limitante.

  • Ancho de banda del dispositivo de almacenamiento: las unidades SATA giratorias tienden a ser de unos 150 Megabytes por segundo. Las unidades SSD con interfaces SATA pueden ser de unos 800 MB/seg. Los SSD con interfaces NVMe pueden llegar a 2,5 GB/seg
  • Red - La Wifi será bastante lenta, de 50 a unos 100 Megabits/segundo. La Ethernet por cable dependerá del más lento de los dos adaptadores de host y de un conmutador que los conecte. El equipo doméstico típico es probablemente de 100 Megabits/segundo, pero podría ser de 1 Gigabit/segundo. Si te gastas una cantidad modesta de dinero, la mayoría de los ordenadores de sobremesa y servidores soportarán Ethernet de 10 Gigabits/segundo. Con mucho dinero se puede llegar a 25 o 100 Gigabits/segundo. Si se gasta mucho dinero en Infiniband, se podrá llegar a los 400 Gigabits/segundo. No tiene mucho sentido porque esto es mucho más rápido que los dispositivos de almacenamiento.
  • Sistema de E/S: los ordenadores de sobremesa y los servidores tendrán sistemas de E/S PCIexpress, pero variarán en el número de "carriles" disponibles para los diferentes dispositivos. Cada carril podría funcionar a 2,5 Gigabits/segundo más o menos. Es diferente en las distintas generaciones de PCI
  • CPU - Las CPUs tendrán una potencia de cálculo y un ancho de banda de memoria limitados. Para las redes más lentas, puede funcionar utilizar la CPU hacer la compresión de datos, mientras que para las redes rápidas, la CPU puede convertirse en el factor limitante y es mejor para desactivar la compresión.

La versión TLDR es que si usted tiene unidades de disco giratorio, a continuación, utilizando 1 Gbps Ethernet y obtener 800 o 900 Megabits es bastante bueno.

Si tienes discos SSD NVMe, entonces gasta unos cuantos dólares para un enlace punto a punto o conmutado de 10 Gbps y puede funcionar a un Gigabyte/segundo.

Ahora bien, si estás transfiriendo archivos pequeños, entonces habrá un factor adicional de ralentización para las operaciones de metadatos - tienes que crear los archivos y las entradas de directorio y esto normalmente será mucho más lento que la transferencia de datos real.

Ahora deberíamos hablar de las aplicaciones. Yo usaría rsync, porque a rsync se le puede decir que mantenga dos carpetas sincronizadas, y sólo transferirá los archivos que hayan cambiado, y tiene opciones de compresión.

Hay muchas otras opciones, como (en linux) meter zip o tar en ssh. No tengo ni idea de qué es lo mejor que se puede usar en Windows.

Estoy razonablemente seguro de que montar remotamente una unidad mediante el uso compartido de unidades no es el mejor enfoque. Eso ralentizará las operaciones de metadatos. Podría estar bien para algunos archivos grandes, porque el protocolo SMB no es horrible.

En mi sótano tengo un dulce servidor de 8 núcleos con 128 GB de RAM. Tiene un enlace ethernet dedicado de 10 Gbps a una caja RAID NAS a unos pocos pies de distancia. Se siente bastante ágil para las operaciones de archivos remotos. Puedo leer o escribir archivos grandes a 300 megabytes/segundo más o menos. Por otro lado, tengo una unidad externa de 10T en mi escritorio, y no hace mucho porque sólo está conectada a través de un USB de 400 Gbps y no es una unidad especialmente rápida.