¿Por qué las tasas de transferencia de datos no son uniformes?

Depende de varias cosas, pero principalmente de un hecho subyacente de las computadoras y sistemas operativos modernos: las computadoras NUNCA hacen una cosa a la vez.
Todo lo que hace su computadora, lo hace tan rápido que simplemente no reconoce la progresión lineal y limitada en el tiempo de sus procesos. Divide todos sus recursos entre las tareas que se le han encargado, ya sea un servicio que no tiene idea de que se está ejecutando en segundo plano, un proceso de hardware interno que debe realizarse para utilizar diferentes periféricos o una aplicación usando activamente como su navegador web, reproductor de video, procesador de textos, etc.
Entonces, si su computadora fue diseñada para copiar SOLAMENTE archivos, a nivel de hardware, experimentaría la tasa de transferencia máxima, sin obstáculos, de manera consistente. Sin embargo, debido a que su computadora puede estar cumpliendo con las demandas de usted mismo o de una red, no puede dedicar todo su tiempo a copiar y seguir funcionando.

Básicamente, los discos duros son muy complicados en la forma en que funcionan. No son como cintas, que almacenan información linealmente, pero los datos se distribuyen por todo el disco.
Permítanme dar una explicación muy simplificada de lo que sucede cuando copia datos en su disco duro: mover el cabezal de lectura / escritura a una nueva posición lleva tiempo, en el que no se pueden leer ni escribir datos. Con las transferencias en el mismo plato, el cabezal debe moverse desde un lugar donde residen los datos originales, leerlo, moverse al nuevo lugar para la copia de los datos y escribirlo allí. Además, cada operación se rastrea en un “catálogo”, por lo que el dispositivo sabe en qué ubicación física se almacena cada archivo en el disco.
Cuanto más pequeños son los archivos, menos tiempo pasa el disco duro escribiendo datos y más gastos generales tiene que hacer.
En cuanto a la variación, eso depende de muchos factores. Siempre hay cosas que suceden en una computadora, ya sean servicios del sistema operativo como indexar, optimizar, guardar, … todo esto necesita acceder al disco duro, lo que interrumpe el proceso de copia por una fracción de segundo, lo que le quita tiempo al proceso de copia.
Además, la CPU está ocupada haciendo otras cosas durante la copia, como mostrar lo que está sucediendo en su computadora, y dado que el disco duro necesita instrucciones sobre qué hacer, a veces tiene que esperar a la CPU.
Además, dado que los datos se encuentran dispersos en la unidad, el tiempo que tarda el cabezal de lectura en alcanzar su nueva posición también varía, lo que nuevamente le quita tiempo al proceso de copia.

Para obtener información más detallada sobre cómo funcionan los discos duros, el artículo de Wikipedia tiene muchos detalles, incluido un video útil, que explica el funcionamiento visual: Unidad de disco duro

Si tiene un antivirus con el escaneo en tiempo real habilitado (lo que debería hacer a menos que use Linux), entonces, dependiendo del contenido del archivo, el software AV puede tardar más o menos tiempo en dar su bendición a la transferencia, en mi humilde opinión, esa es solo una de las una gran cantidad de razones para velocidades de transferencia de archivos variables, que en mi caso suelen ir de rápido a lento, y permanecen así hasta que finaliza la transferencia, solo cuando utilizo Linux vi transferencias para volver a una velocidad más rápida después de una desaceleración, leer el libro “sistemas operativos modernos” de Andrew S. Tanembaum me dio una idea de lo que está sucediendo dentro de una computadora cuando comienzas a mover un archivo. Recomiendo ese libro para el tipo realmente interesado, incluso si no eres un geek y solo un usuario simple e ignoras todas las cosas complicadas en ese libro, el autor hace un gran esfuerzo para tratar de explicar todo en términos simples, súper simple .

  • Puede depender de cómo se almacenan los archivos en su disco duro, por ejemplo, si sus datos están muy fragmentados, será más lento de leer porque su HDD tiene que buscar constantemente datos en el disco. (Esto es cada vez menos importante a medida que mejoran los sistemas de archivos y los algoritmos de programación de disco, y han mejorado mucho en los últimos años).
  • Puede depender del tamaño de los archivos. Una vez más, los diferentes sistemas de archivos manejan eso de manera diferente, pero como regla, para un tamaño total igual, casi siempre es más largo procesar muchos archivos pequeños que uno o unos pocos archivos grandes.
  • Si su disco está haciendo otra cosa mientras está copiando sus archivos, obviamente afecta el rendimiento, ya que utiliza un poco de rendimiento de E / S de la unidad. Esto puede suceder incluso si usted, como usuario, no está haciendo nada importante con el disco, por ejemplo, tal vez su sistema operativo simplemente haya decidido hacer un trabajo de mantenimiento en segundo plano intensivo en el disco ahora y destruya sus tasas de transferencia.
  • Además, tenga en cuenta que las velocidades de transferencia informadas por muchos sistemas operativos son muy inexactas, especialmente al copiar archivos pequeños.

Para agregar a todas las buenas respuestas aquí,

Recuerde que la velocidad de la red / ancho de banda es aproximadamente igual al ancho de banda más pequeño a lo largo de la ruta de datos, incluida la congestión / “cuello de botella”. 🙂