Obtuve mi primer gusto de redes Gigabit hoy en día, entre mi escritorio MacMini 2011 y Windows 8 Pro 2011 conectado a través de Cat.5e a Linksys WRT320N (deportivo dd-WRT).
Después de asegurarme de que la velocidad de línea en ambos sistemas mostrara 1Gbps, procedí a copiar un MP4 de 2.4GB del Mini al escritorio Win 8 (uso compartido SMB). Aunque satisfecho con los 30-34 MB / s que mostraba Teracopy (que fue un aumento adecuado para mí de 10 MB / s), todavía sentía curiosidad por esta enorme diferencia en la velocidad anunciada y en el mundo real.
2 horas de Google me hicieron creer que había otros factores que resultaron en una menor velocidad, siendo SMB uno. Así que, por el simple hecho de hacerlo, iPerfé los dos sistemas y adiviné lo que eso mostró: ¡alrededor de 875mbps en ambos sistemas!
Luego me topé con esta pequeña información después de lo cual apagué Teracopy y copié el mismo archivo a través de la copiadora habitual de Windows 8. 109 MB / s. Cerebros fundidos :)
¿Qué es exactamente lo que está causando esto? ¿Y puedo habilitar tales velocidades a través de Teracopy? Realmente excavo las características adicionales que tiene Teracopy, seguramente las extrañaré ahora: D
Respuestas:
Dos palabras: verificación y caché
Explicación técnica
Este es el procedimiento general para copiar un archivo con el Explorador de Windows:
Esto parece simple y lo suficientemente corto. Con este algoritmo de transferencia, cada byte del archivo se procesa solo dos veces: una lectura, una escritura.
Pero además, Windows usa memoria (al igual que la unidad) para almacenar en caché algunos datos. Entonces, en lugar de esperar a que el fragmento anterior termine de escribirse, y luego leer el siguiente fragmento, se puede leer un fragmento nuevo mientras el anterior todavía se está escribiendo. Obviamente, esto no puede durar para siempre, pero Windows puede usar toda la memoria libre restante como un búfer temporal para almacenar la mayoría, si no todo, el archivo que se está leyendo en la memoria.
Puede ver el almacenamiento en caché en acción copiando un archivo grande, o una carpeta que contiene muchos archivos, de una unidad a otra, y luego comparando inmediatamente los dos. La comparación será mucho más rápida en ese momento que si lo hace más adelante porque los archivos todavía están en la memoria, por lo que en realidad no los está leyendo desde las unidades.
Dado que la memoria es muy rápida y las velocidades de lectura tienden a ser un poco más rápidas que las velocidades de escritura, la velocidad de transferencia final termina siendo limitada solo por la velocidad de escritura de la unidad de destino.
Teracopy puede hacer dos cosas que pueden ralentizar una transferencia de archivos que Explorer no hace:
Renunciar a la memoria caché y leer directamente desde la unidad
Verifique que el destino se haya escrito correctamente
A diferencia de Explorer, que solo busca errores básicos durante la transferencia, Teracopy puede verificar que los datos se escribieron correctamente en la unidad de destino para evitar la corrupción de datos que podría ocurrir debido a problemas en los medios de transferencia (red / cable de la unidad / etc. ) o la unidad en sí (sector defectuoso, etc.) Hacer esto significa que tiene que leer el archivo del destino para compararlo con el original.
Dependiendo del algoritmo utilizado y el tamaño del archivo, la verificación se puede optimizar con solo (pero no menos) tres operaciones de unidad para cada archivo / fragmento de archivo en lugar de las dos del Explorador: lea el archivo desde la fuente, escriba el archivo al destino y lea el archivo desde el destino.
Mire lo que sucede cuando copia un archivo con Teracopy (con un algoritmo optimizado para HDD):
El problema es que si almacena en caché los archivos durante la transferencia, la comparación se vuelve inútil porque no está leyendo los datos reales en la unidad de destino, está leyendo la copia almacenada en caché en la memoria desde la fuente. Por lo tanto, para verificar correctamente, debe borrar el caché. Esto se puede hacer después de cada lectura y escritura (que es una operación adicional que terminaría haciendo innumerables veces para archivos de cualquier tamaño significativo), o solo una vez después de que se haya transferido todo el archivo.
Según la captura de pantalla a continuación, TeraCopy realiza la verificación después de que se transfieren los archivos, no durante. Esto significa que utiliza este algoritmo de transferencia optimizado para CPU / RAM en su lugar:
Si bien este algoritmo ejerce una presión ligeramente menor sobre la CPU y la RAM, también ejerce mucha más presión sobre la (s) unidad (es) porque ahora cada archivo debe procesarse cuatro veces: lea el archivo completo desde el origen, escríbalo en el destino , luego léalo nuevamente desde el origen y nuevamente desde el destino.
(Si TeraCopy estuviera optimizado para transferencias de red, podría evitar enviar el archivo completo por segunda vez para verificación y enviar solo los hash que son mucho más pequeños, pero ese no parece ser el caso actualmente, y los controladores de red reciben el mismo tratamiento) como unidad local, por lo que en realidad vuelve a leer la fuente).
Por defecto, TeraCopy no verifica ni utiliza el caché. No verificar que aceleraría la transferencia hacia arriba (o más exactamente, no reducir la velocidad hacia abajo), mientras que no se utiliza la memoria caché que reducir la velocidad.
Solicitud
Para determinar sus resultados de velocidad específicos, deberá verificar su configuración para ver si los ha cambiado. Luego, puede intentar aproximar qué tipo de velocidades obtendría con las diferentes configuraciones (tenga en cuenta que probablemente interactuarán, por lo que no se trata simplemente de sumar o restar).
Dicho esto, hagamos un cálculo superficial usando sus números:
Inmediatamente, vemos que la transferencia de archivos de Explorer está casi maximizando el rendimiento de su red. Un enlace de 1 Gbps es igual a 1,000,000,000 de bits por segundo, que en unidades binarias de bytes es 119MBps. Explorer registra 109MBps, y los 10MBps restantes (que de manera divertida era su máximo anterior
:^Þ
) pueden explicarse fácilmente por sobrecarga, carga de fondo y fragmentación.(Dado que la velocidad de transferencia es casi igual a la velocidad de la red, podemos suponer que la transferencia de archivos de Explorer es unidireccional y que solo se envía una sola copia de cada archivo). Explorer obtiene 110 MBps por dos accesos de archivo por archivo.
Ahora para TeraCopy. Parece que TeraCopy está obteniendo casi exactamente un tercio de la velocidad de Explorer.
Dependiendo de si su diálogo de preferencias indica o no con precisión el algoritmo que usa, TeraCopy podría enviar el archivo fuente completo dos veces para que pueda verificar la copia. De inmediato, esto reduce el rendimiento a la mitad. Si el caché está activado, entonces eso también reduce la velocidad porque tiene que esperar a que termine cada escritura antes de que pueda enviar un nuevo fragmento. Cuando se combina con la verificación, puede derribarlo aún más.
Su velocidad de transferencia de 34 MBps parece razonable si tiene la verificación activada y desactivada. Si desactiva la verificación y el almacenamiento en caché, debería obtener casi lo mismo que Explorer (aún puede obtener un poco menos o incluso un poco más dependiendo de cuán diferente sea el código de transferencia de archivos que usa TeraCopy del que usa Explorer).
Si está de humor para transferir casi 10 GB, entonces también podría intentar alterar la configuración y rehacer la transferencia para cada una de las cuatro permutaciones y anotar las velocidades que obtiene (para estar seguro, ordene de manera que el caché esté fuera entre carreras:)
V+C+, V+C-, V-C+, V-C-
.fuente
Sospecho que está relacionado con el hecho de que Windows 8 usa SMB v. 3 y dudo que la teracopia sea compatible con SMB v.3 y vuelva a SMB 2. De manera predeterminada ...
fuente
No puedo darle una respuesta del 100% a su problema, pero puedo agregar más que podrían ayudar.
Mi razón para cambiar a Teracopy se debió a la forma en que Windows tiene que "calcular" todo antes de hacer algo y este cálculo en sí mismo a veces puede congelar todo el proceso. En otras publicaciones, se mencionó que el tipo de archivo que se copiaba importaba en la copia de Windows, no puedo decirlo con seguridad en Teracopy, ya que no he visto que aparezca. Pero mis intentos hasta ahora me han dejado con menos de lo que obtienes en cualquier caso. Solo estoy copiando tipos de archivos genéricos, no archivos multimedia (es decir, fotos / películas).
Mis pruebas pasaron de un Seagate 3TB NAS con acceso NIC GB en una red 100% GB a un sistema GB. El mejor caso, 14 Gbps. Windows se movió del NAS al HD del sistema obtuvo 12.4GBps y tardó un poco más en iniciarse. Nada se acercó a sus 30-34Mbps, mucho menos que 109Mb / s.
Parte de esto seguramente se debe al control de flujo del NAS incluso en una red GB. Sería extremadamente feliz si pudiera obtener 34 GB / s, aún más feliz si pudiera obtener 109 GB / s. Si encuentra una copiadora de archivos más rápida, ¡publíquela! :)
fuente
Esto me ayudó con este problema, entre las NIC del chipset de la placa base Intel.
El TOE (TCP Offload Engine) se introdujo en Windows en 2003, con resultados horribles de los NIC de Broadcom utilizados en la mayoría de los servidores en ese momento, lo que causó daños en los datos si "descargó" la suma de comprobación. Parece que los proveedores de NIC todavía no lo tienen bien, y no se trata solo de Broadcom. La descarga de la red es casi siempre más lenta y aparentemente también es más propensa a errores que hacerlo todo en software. Iría a la configuración de su adaptador y deshabilitaría toda descarga de hardware de cualquier tipo.
fuente
Anteriormente tuve un problema idéntico con las transferencias lentas a través de TeraCopy. Celeron J1800 con tarjeta LAN incorporada Realtek Gigabit 8111C. No recibía más de 35-45 megabytes por segundo. Bastante frustrante!
Terminó siendo un mal conductor de la tarjeta LAN.
Windows instalado desde cero con controladores OEM. También hice lo siguiente:
En Administrador de dispositivos / Tarjeta LAN / Configuración avanzada / Desactivar todo excepto CONTROL DE FLUJO.
En Características de Windows, deshabilite la compresión diferencial remota.
Ahora la velocidad promedio está entre 60-70 Mbps
fuente
También hice varias pruebas con Teracopy 2.3 final y mi Synology Diskstation. De hecho, el proceso de copia es demasiado lento. He copiado archivos con una velocidad promedio de aproximadamente 40 MB / s.
¡El programa original de copia de archivos de Windows 8 es más rápido que Teracopy!
Ahora, actualmente estoy probando Ultracopier, mis velocidades actuales son de alrededor de 80 MB / s, mucho más rápido que la Teracopy. Me gusta Teracopy, pero creo que Teracopy tiene un problema de copia de red.
Como estoy copiando muchos archivos de una unidad de red a otra, debo usar el programa de copia más rápido que pueda obtener, porque el proceso de copia siempre es demasiado largo.
fuente