El mismo 1 GB, y sin embargo una carpeta de fotos se copia más despacio que un solo video — ¿por qué?
· Actualizado el: · Go Komura · Windows, Windows 11, Copia de archivos, Rendimiento, SSD, NAS, ZIP, robocopy
Historial de revisiones (primera versión, publicada el 5 Sep 2026)
- Primera publicación
Aunque el tamaño total sea el mismo, 1 GB, el tiempo de copia varía según cuántas veces haya que abrir, crear y cerrar archivos. Este artículo explica cómo influyen el número de archivos y los tiempos de espera, y cómo comparar archivos ZIP y copias simultáneas en condiciones equivalentes.
En el diagrama, una línea continua marca una relación que siempre se cumple y una línea discontinua una relación condicional (las condiciones están en la explicación de cada relación en la página de detalle). La lista completa de relaciones (11 en total, con evidencia y grado de certeza) y las definiciones de los conceptos principales están reunidas en la página de detalle del mapa de conocimiento (en japonés). Datos: JSON-LD / Turtle
Problema / Pregunta
Un vídeo de 1 GB se copió rápidamente, pero una carpeta de fotos que sumaba 1 GB tardó mucho más. ¿Por qué disminuye la velocidad de transferencia indicada al copiar muchos archivos pequeños, incluso cuando se utiliza una unidad SSD o una LAN de alta velocidad?
Este artículo responde a dos preguntas: «¿Por qué cambia el tiempo de copia aunque el tamaño total sea el mismo?» y «¿Cómo puedo determinar si, en mi entorno, conviene reunir los archivos en un ZIP o copiarlos simultáneamente?». El hecho de que los archivos sean fotos no basta para diagnosticar lentitud ni un fallo. En su lugar, se comparan el número de archivos y el tiempo necesario hasta que esos archivos pueden utilizarse.
Entorno
Este artículo está dirigido a usuarios generales que copian desde Windows 11 archivos ordinarios disponibles localmente, como fotos y documentos, a una unidad externa o a un NAS al que se accede mediante un recurso compartido SMB. Un NAS es un dispositivo de almacenamiento utilizado a través de una red, y SMB es el protocolo de comunicación empleado habitualmente para compartir archivos en Windows.
Los ejemplos utilizan el Explorador de archivos, Compress-Archive de Windows PowerShell 5.1 o posterior y la utilidad robocopy incluida con Windows. Para ejecutar los ejemplos de comandos se necesita permiso de lectura sobre el origen y permiso para crear y escribir archivos en la carpeta del experimento y en el destino. Estos procedimientos no utilizan privilegios de administrador para eludir los controles de acceso.[S7: Compress-Archive] [S9: robocopy]
Solo es posible extraer un ZIP en el propio NAS cuando este ofrece esa función y se dispone de permiso para utilizarla. Se cita documentación de SMB orientada a servidores para explicar el mecanismo subyacente; eso no implica que todos los NAS tengan las mismas opciones o funciones.
Esta explicación se basa en documentación oficial consultada el 17 de septiembre de 2026. Los ejemplos numéricos siguientes son cálculos basados en supuestos explícitos, y las operaciones son procedimientos que los lectores pueden utilizar para probar sus propios entornos. No son mediciones realizadas en un PC con Windows, una unidad SSD o un NAS concretos. La descarga de archivos en la nube disponibles únicamente en línea y el diseño de copias de seguridad completas quedan fuera del alcance de este artículo.
Respuesta / Solución
El número total de bytes no es el único factor que determina el tiempo de copia. Repetir para cada archivo las operaciones de creación, administración y finalización aumenta el tiempo dedicado a tareas distintas de transferir el contenido. En un recurso compartido SMB también importa el tiempo de espera mientras el sistema remoto procesa las solicitudes y devuelve las respuestas. Reunir los archivos en un ZIP o utilizar la copia simultánea de robocopy puede ayudar, pero ninguno de los dos métodos garantiza una mayor velocidad.[S1: Slow SMB files transfer speed]
Primero, anote tanto el tamaño total como el número de archivos y compare las alternativas utilizando la misma ruta y el mismo destino final. En el caso del ZIP, compare el tiempo total necesario para crearlo, transferirlo y, cuando corresponda, extraerlo. Para la copia simultánea, utilice los mismos datos y opciones y cambie únicamente el nivel de concurrencia. Compruebe por separado la velocidad y la correcta finalización de la copia.
Definición
Copiar un archivo implica más que escribir su contenido en otro lugar. Hay que crear el archivo de destino y establecer los atributos, las marcas de tiempo y demás información necesaria. En este artículo, el procesamiento y la espera necesarios para gestionar cada archivo se denominan «tiempo adicional por archivo», diferenciándolos del tiempo dedicado a transferir su contenido.[S2: CreateFileW function]
«Archivos pequeños» no es otra forma de decir «fotos». Unas pocas fotos grandes y decenas de miles de imágenes pequeñas presentan condiciones diferentes. La comparación tiene en cuenta tanto el número total de bytes de contenido —el «Tamaño» de la carpeta— como el número de archivos, en vez de limitarse a igualar el «Tamaño en disco».
En una mudanza, una caja grande y diez mil paquetes con destinatario individual pueden pesar lo mismo en total, pero exigir cantidades de trabajo muy distintas. Del mismo modo, «transportar 1 GB» y «procesar 10 000 archivos» son tareas diferentes.
flowchart TB
accTitle: Distinto número de archivos con el mismo tamaño total
accDescr: Aunque ambos conjuntos de datos sumen 1 GB, un solo archivo y muchos archivos requieren distinto número de operaciones de administración.
A["Un total de 1 GB de datos"] --> B["Un archivo grande"]
A --> C["10 000 archivos pequeños"]
B --> D["Pocas operaciones por archivo"]
C --> E["Repetir las operaciones por archivo"]
Figura 1: El mismo número de bytes no implica el mismo número de archivos.
En los datos explicativos empleados a continuación, 1 GB significa 1 000 000 000 de bytes y 100 KB significa 100 000 bytes. En las comparaciones, anote el número real de bytes en lugar de basarse en valores redondeados mostrados por Windows u otras herramientas.
Función
La finalidad de la copia es que el conjunto de archivos necesario pueda utilizarse en el destino previsto. Un valor elevado de MB/s en la ventana de transferencia no implica necesariamente que se alcance antes ese objetivo si la creación o la extracción del ZIP tarda mucho.
El ZIP reúne los archivos que se van a transferir, mientras que la copia simultánea superpone las esperas que se producen al procesar varios archivos. La concurrencia permite que una transferencia avance mientras otra espera; no añade retraso. Ningún método acelera por sí mismo el enlace de red ni el disco, y cada uno resulta adecuado en condiciones diferentes.[S1: Slow SMB files transfer speed] [S4: Performance Tuning for SMB File Servers]
flowchart TB
accTitle: Objetivo al elegir un método de copia
accDescr: Colocar el mismo conjunto de archivos en el destino previsto, comprobar su contenido y comparar el tiempo hasta que puedan utilizarse.
A["Colocar los mismos archivos en el destino"] --> B["Completar la copia"]
B --> C["Comprobar el número y el contenido"]
C --> D["Comparar el tiempo hasta que puedan utilizarse"]
Figura 2: El objetivo al elegir un método es dejar disponible correctamente el mismo conjunto de archivos.
Un archivo grande sirve como control para observar el efecto del número de archivos. Como su estructura es distinta de la de 10 000 archivos pequeños, no constituye un sustituto práctico de estos. Al elegir el método real, el objetivo es colocar los archivos individuales originales en el mismo destino final.
Estructura
Contenido, información de administración y ruta de copia
La copia comprende abrir el origen, crear el archivo de destino, leer y escribir el contenido, establecer la información necesaria y cerrar el archivo. Abrir un archivo en Windows también implica especificar el acceso solicitado y un modo de uso compartido que determina si otros procesos pueden abrirlo simultáneamente.[S2: CreateFileW function]
La información utilizada para administrar un archivo, como el nombre, el tamaño y las marcas de tiempo, se denomina metadatos. NTFS registra información de administración para cada archivo en estructuras como la tabla maestra de archivos (MFT). Por tanto, copiar no consiste únicamente en escribir los datos de píxeles de una foto.[S3: Master File Table]
flowchart TB
accTitle: Trabajo necesario para copiar un archivo
accDescr: Para cada archivo, la copia exige abrir el origen, crear el destino, transferir el contenido, administrar la información y cerrar el archivo.
A["Abrir el origen"] --> B["Crear el archivo de destino"]
B --> C["Leer y escribir el contenido"]
C --> D["Establecer la información y cerrar"]
D -.-> E["Repetir con el archivo siguiente"]
Figura 3: Flujo conceptual; el orden y la concurrencia reales dependen del método de copia y del sistema de archivos.
| Qué examinar | Condiciones que deben mantenerse iguales al comparar |
|---|---|
| Contenido de los archivos | Total de bytes, número de archivos, contenido y capacidad de compresión. |
| Dispositivo de almacenamiento y tareas de administración | Dispositivos de origen y destino, espacio libre, sistema de archivos y carga simultánea. |
| Ruta y método de copia | Almacenamiento local o recurso compartido SMB, red, aplicación de copia y dispositivo que realiza la extracción. |
Las tareas de administración de archivos siguen existiendo cuando se utiliza una unidad SSD. No estime el tiempo necesario para 10 000 archivos únicamente a partir de la velocidad secuencial de un archivo grande, ni clasifique toda copia de archivos pequeños como E/S aleatoria. Considere por separado la ubicación del contenido y el trabajo realizado para cada archivo.[S3: Master File Table] [S1: Slow SMB files transfer speed]
Funcionamiento
Los mecanismos que pueden producir tiempos distintos con el mismo tamaño total se dividen en tres ámbitos: la espera de respuestas, la agrupación de archivos en un ZIP y la ubicación donde se efectúa la extracción.
El ancho de banda y la espera de respuestas son características distintas de un NAS
Con un recurso compartido SMB, el PC puede solicitar una operación de archivo, esperar mientras el sistema de archivos remoto la procesa y después esperar a que regrese la respuesta. Cuando se copian secuencialmente muchos archivos pequeños, la creación de archivos puede requerir más tiempo que el envío de su contenido, por lo que parte del ancho de banda de la red queda sin utilizar.[S1: Slow SMB files transfer speed]
flowchart TB
accTitle: Operaciones de archivo a través de una red
accDescr: Una solicitud del PC atraviesa la red, el sistema de archivos remoto la procesa y la respuesta vuelve al PC.
A["El PC solicita una operación de archivo"] --> B["La solicitud atraviesa la red"]
B --> C["El sistema remoto procesa el archivo"]
C --> D["La respuesta vuelve al PC"]
Figura 4: Transportar una gran cantidad de una vez y responder rápidamente a cada operación son capacidades diferentes.
El ancho de banda es comparable al número de carriles de una carretera, mientras que la latencia equivale al tiempo que tarda en llegar una respuesta. La inspección del antivirus también puede afectar al tiempo de procesamiento de cada archivo.[S1: Slow SMB files transfer speed]
Esto no significa que cada archivo produzca necesariamente un número fijo de intercambios por la red. SMB puede combinar varias solicitudes de operación, y la caché y la concurrencia modifican la forma en que se producen las esperas. No presuponga que una LAN doméstica y una carpeta compartida remota ofrecen condiciones equivalentes.[S5: Sending Compounded Requests] [S8: File Caching]
Evalúe por separado la compresión y la agrupación del ZIP
Un archivo ZIP puede comprimir datos y reunir varios archivos en un solo contenedor. Como los datos JPEG ya están comprimidos, incluir archivos JPEG en un ZIP podría reducir muy poco su tamaño. No obstante, sí puede reducir de 10 000 a uno el número de archivos que se transfieren.[S6: Zip and unzip files]
flowchart TB
accTitle: Las dos funciones del ZIP
accDescr: Reunir archivos cambia el número de archivos transferidos, mientras que la compresión cambia el número de bytes transferidos; son efectos distintos.
A["Reunir las fotos en un ZIP"] --> B["Transferir un solo archivo"]
A --> C["El cambio de tamaño depende del contenido"]
Figura 5: Aunque la compresión sea escasa, el ZIP puede reducir el número de archivos transferidos.
Si finalmente las fotos deben utilizarse como archivos ordinarios dentro de una carpeta, compare el total siguiente:
Tiempo necesario mediante ZIP = creación del ZIP + transferencia del ZIP + extracción
La creación de un ZIP lee cada archivo pequeño, y la extracción vuelve a crear cada archivo pequeño en el destino de extracción. El trabajo no desaparece; el método cambia dónde se realiza y cómo se transportan los archivos. Cuando el procesamiento anterior y posterior a la transferencia es considerable, podría ser más rápido no reunirlos.[S1: Slow SMB files transfer speed]
Distinga qué dispositivo realiza la extracción
Si se envía un ZIP al PC del destinatario y se extrae en la unidad local de ese PC, no es necesario crear por la red cada uno de los archivos pequeños. Microsoft también describe la extracción del archivo en el sistema de destino, en lugar de extraerlo remotamente.[S1: Slow SMB files transfer speed]
flowchart TB
accTitle: Extracción en el destino frente a extracción desde un PC hacia un recurso compartido
accDescr: Distinga la extracción interna realizada por el destino de la escritura de cada archivo extraído por un PC en un destino compartido.
A["Enviar el ZIP al destino"] --> B["El destino lo extrae internamente"]
C["Extraer con una aplicación del PC"] --> D["Enviar cada archivo pequeño al recurso compartido"]
Figura 6: Que el ZIP esté almacenado en el NAS no significa que la extracción también se realice dentro del NAS.
Si abre en el Explorador de archivos del PC un ZIP almacenado en el NAS y selecciona como destino de extracción la misma carpeta compartida, el PC escribe de nuevo en el NAS los archivos pequeños extraídos. Esa ruta vuelve a implicar numerosas operaciones de red detalladas y es distinta de la extracción interna realizada mediante una función del propio NAS.
Si el NAS no puede extraer el archivo por sí mismo, mida la ruta completa que esté realmente disponible. Extraer en el NAS y extraer localmente en el PC producen destinos finales diferentes, por lo que sus tiempos no pueden compararse directamente como si ambas operaciones realizaran el mismo trabajo.
Ejemplos
Esta sección presenta un cálculo ilustrativo y los datos comparativos generados mediante el procedimiento. Ninguno representa una velocidad medida en un equipo concreto.
Cálculo simplificado para 1 GB y 10 000 archivos
El siguiente modelo conceptual presupone que las operaciones se ejecutan secuencialmente, sin solaparse. No es la fórmula exacta utilizada por Windows.
Tiempo de copia ≒ Total de bytes ÷ velocidad de transferencia del contenido
+ Número de archivos × tiempo adicional por archivo
A modo de ejemplo, suponga una velocidad de transferencia del contenido de 100 MB/s y un tiempo adicional de 2 ms por archivo. Como aquí 1 GB equivale a 1 000 MB, la transferencia del contenido tarda 10 segundos. El tiempo adicional por archivo es de 0,002 segundos para un archivo y de 20 segundos para 10 000 archivos, lo que da para estos últimos un total ilustrativo de aproximadamente 30 segundos.
flowchart TB
accTitle: Dividir el tiempo de copia en dos componentes
accDescr: Separe el tiempo de transferencia determinado por el tamaño total del tiempo adicional que se acumula con el número de archivos.
A["Tiempo determinado por el tamaño total"] --> C["Tiempo total de copia"]
B["Tiempo adicional determinado por el número de archivos"] --> C
Figura 7: A medida que aumenta el número de archivos, el tiempo puede depender de algo más que la cantidad de datos.
Estos valores se calculan a partir de supuestos. Se omiten la concurrencia, las cachés y las limitaciones de la CPU y del almacenamiento, por lo que el cálculo no predice que un dispositivo real vaya a tardar 30 segundos.
Un archivo grande, archivos pequeños y un ZIP sin compresión
Fundamento de los datos comparativos
Puede observar tendencias con sus propios vídeos y fotos, pero esos archivos difieren en contenido y capacidad de compresión. El siguiente procedimiento escribe la misma secuencia de bytes en un archivo grande y en un conjunto de archivos más pequeños, y después crea un ZIP sin compresión a partir de los archivos pequeños.
| Caso | Composición | Contenido total |
|---|---|---|
| A | Un archivo de 1 GB llamado one.bin. | 1 000 000 000 de bytes. |
| B | 10 000 archivos de 100 KB, llamados part-00000.bin a part-09999.bin. | 1 000 000 000 de bytes. |
| C | Un small.zip sin compresión que contiene la carpeta small de B. | El contenido extraído es igual al de B; el ZIP añade su propia información de administración. |
flowchart TB
accTitle: Tres formas de los datos comparativos
accDescr: Cree un archivo grande y muchos archivos pequeños con el mismo contenido total; después, cree un ZIP sin compresión a partir de los archivos pequeños.
A["Preparar el mismo total de 1 GB"] --> B["Un archivo de 1 GB"]
A --> C["10 000 archivos de 100 KB"]
C --> D["Introducir el mismo contenido en un ZIP sin compresión"]
Figura 8: Un ZIP sin compresión permite observar la agrupación por separado de cualquier cambio en el tamaño comprimido.
A y B tienen el mismo contenido total, pero el tamaño del ZIP de C no es exactamente 1 000 000 000 de bytes. Los archivos .bin creados con bytes seudoaleatorios no pueden abrirse como fotos o vídeos reales, no permiten comprobar la calidad fotográfica ni reproducen el comportamiento de las aplicaciones que procesan archivos multimedia reales.
Procedimiento
Comience con una comparación en el Explorador de archivos. Compare los niveles de concurrencia de robocopy únicamente si resulta necesario. Utilice datos experimentales en lugar de fotos o documentos importantes y no confunda copiar con mover.
No modifique las funciones de protección, la firma SMB, la configuración de sincronización ni controles similares. Si los permisos de escritura o las operaciones del NAS están administrados, no eluda esos controles; consulte al administrador responsable.[S10: SMB signing overview]
Crear archivos experimentales con el mismo tamaño total
Utilice Windows PowerShell 5.1 o posterior y confirme que la carpeta temporal se encuentra en una unidad local. A y B utilizan aproximadamente 2 GB en conjunto, y al añadir el ZIP se utilizan aproximadamente 3 GB. Compruebe que el origen tenga al menos 5 GB de espacio disponible y que el destino disponga de espacio suficiente para todas las pruebas de copia y extracción. Ejecute consecutivamente los ejemplos de PowerShell en la misma sesión.
flowchart TB
accTitle: Crear dos conjuntos de datos a partir de las mismas secuencias de bytes
accDescr: Añada cada bloque generado de 100000 bytes seudoaleatorios al archivo grande y guarde el mismo bloque como un archivo pequeño independiente.
A["Generar 100000 bytes"] --> B["Añadirlos a one.bin"]
A --> C["Guardarlos como un archivo part independiente"]
B --> D["Repetir 10 000 veces"]
C --> D
Figura 9: Escribir los mismos bytes generados en ambos conjuntos hace que sus tamaños totales de contenido sean iguales.
-
Confirme que trabajará en una carpeta experimental nueva y que no utilizará datos existentes.
El código crea una carpeta copylab con un nombre único. Anote la ubicación mostrada. El procedimiento no reanuda silenciosamente una ejecución interrumpida; si se produce un error, excluya de la comparación los datos generados en esa ejecución.
-
Ejecute el código siguiente para crear un archivo grande y un conjunto de archivos pequeños.
$ErrorActionPreference = 'Stop' $lab = Join-Path ([System.IO.Path]::GetTempPath()) ('copylab-' + [guid]::NewGuid().ToString('N')) $drive = New-Object System.IO.DriveInfo ([System.IO.Path]::GetPathRoot($lab)) if ($drive.AvailableFreeSpace -lt 5GB) { throw 'Asegúrese de que la unidad experimental tenga al menos 5 GB de espacio disponible.' } $largeDir = Join-Path $lab 'large' $smallDir = Join-Path $lab 'small' [System.IO.Directory]::CreateDirectory($largeDir) | Out-Null [System.IO.Directory]::CreateDirectory($smallDir) | Out-Null Write-Host "Ubicación creada: $lab" $fileCount = 10000 $buffer = New-Object byte[] 100000 $random = New-Object System.Random 20260905 $large = [System.IO.File]::Open( (Join-Path $largeDir 'one.bin'), [System.IO.FileMode]::CreateNew, [System.IO.FileAccess]::Write, [System.IO.FileShare]::None ) try { for ($i = 0; $i -lt $fileCount; $i++) { $random.NextBytes($buffer) $name = 'part-{0:D5}.bin' -f $i [System.IO.File]::WriteAllBytes((Join-Path $smallDir $name), $buffer) $large.Write($buffer, 0, $buffer.Length) } } finally { $large.Dispose() } Write-Host "Preparación terminada. Cada conjunto contiene $([long]$fileCount * $buffer.Length) bytes." -
Confirme que la operación ha terminado y compruebe el número de archivos y el tamaño total de las carpetas large y small.
one.bin, dentro de la carpeta large, tiene 1 000 000 000 de bytes. La carpeta small contiene 10 000 archivos de 100 000 bytes cada uno. Compruebe en las propiedades de la carpeta el número total de bytes de contenido. Un mensaje de finalización, por sí solo, no demuestra que una copia posterior sea correcta.
A y B se crean dentro de una misma carpeta experimental. Las mismas secuencias de bytes se escriben en forma de archivo único y en forma dividida, y ambos conjuntos contienen 1 000 000 000 de bytes. Los datos seudoaleatorios evitan la compresibilidad extrema de un archivo lleno de ceros, pero no garantizan las mismas características de rendimiento que las fotos reales.
Crear un ZIP sin compresión y anotar su tiempo de creación
Confirme que el paso anterior de generación terminó correctamente y que $lab y $smallDir siguen definidos en la misma sesión de PowerShell. Este procedimiento solo se aplica a los archivos ordinarios generados. Compress-Archive tiene limitaciones, entre ellas la omisión de archivos ocultos, por lo que este ejemplo no debe utilizarse como copia de seguridad completa de una carpeta importante.
-
Ejecute el código siguiente en la misma sesión de PowerShell.
$zip = Join-Path $lab 'small.zip' $watch = [System.Diagnostics.Stopwatch]::StartNew() Compress-Archive -LiteralPath $smallDir -DestinationPath $zip -CompressionLevel NoCompression $watch.Stop() Write-Host "Creación del ZIP: $($watch.Elapsed.TotalSeconds) segundos" Write-Host "Tamaño del ZIP: $((Get-Item -LiteralPath $zip).Length) bytes"NoCompression almacena los archivos en el ZIP sin comprimir su contenido. El archivo ZIP sigue incluyendo información de administración.[S7: Compress-Archive]
-
Anote los segundos necesarios para crear el ZIP y el número de bytes del archivo.
Confirme que se creó small.zip. Tras la extracción, los archivos aparecen dentro de una carpeta small, por lo que la comprobación posterior del número de elementos compara el contenido de esa carpeta. Excluya los intentos de creación fallidos y examine los datos experimentales originales y el espacio libre antes de volver a intentarlo.
Ahora dispone de C, que contiene los mismos archivos que B, y de un registro del tiempo de creación del ZIP. La creación de A y B forma parte de la preparación del experimento, pero la creación del ZIP es un coste del método basado en ZIP y se incluye en esa comparación.
Copiar por la misma ruta y medir el tiempo hasta que los archivos puedan utilizarse
Mantenga sin cambios los dispositivos de origen y destino, la conexión, la aplicación y la carga simultánea. Necesita permisos y capacidad suficiente para proporcionar un destino nuevo y vacío en cada intento. Compruebe el contenido después del intervalo cronometrado y fuera de él. El objetivo de la comparación es hacer que B y C puedan utilizarse en el mismo destino final.
flowchart TB
accTitle: Procedimiento para igualar las condiciones de comparación
accDescr: Mantenga fija la ruta y el método, alterne el orden, copie varias veces a un destino nuevo y vacío y compruebe el contenido al finalizar.
A["Mismos dispositivos, ruta y método"] --> B["Un destino nuevo y vacío cada vez"]
B --> C["Medir varias veces en distinto orden"]
C --> D["Comprobar también el número y el contenido"]
Figura 10: No confunda el tiempo ahorrado al omitir un archivo existente con una transferencia más rápida.
-
Anote los dispositivos, la ruta, el método de copia y el dispositivo que realiza la extracción.
No mezcle copias dentro de una misma unidad física con copias entre dispositivos distintos. No utilice archivos en la nube disponibles únicamente en línea y mantenga sin cambios las condiciones del antivirus y la sincronización. Si el NAS no puede extraer el ZIP por sí mismo, anote la ruta como extracción realizada por el PC hacia el destino compartido.
-
Utilice el Explorador de archivos para copiar A, B y C por separado en destinos nuevos y vacíos.
No utilice Mover. Mida desde el inicio de la copia hasta que se cierre la indicación de finalización, aplicando la misma regla en todos los casos. Anote el tiempo transcurrido, no una estimación del tiempo restante ni una velocidad instantánea mostrada. No incluya en una comparación en igualdad de condiciones los intentos que soliciten omitir o sobrescribir archivos existentes.
-
Si C debe utilizarse como archivos individuales, mida también el tiempo de extracción.
En una comparación que requiera los archivos extraídos, sume los tiempos de creación, transferencia y extracción del ZIP. Incluya el tiempo de creación del ZIP medido anteriormente como coste fijo de creación en cada comparación; anote como condición independiente el uso repetido de un mismo ZIP. Aunque el destino de guardado sea el mismo, indique si la extracción fue realizada por el PC o internamente por el NAS.
-
Mida cada caso varias veces —por ejemplo, tres— en órdenes diferentes y anote tanto la mediana como la dispersión.
Utilizar un destino nuevo no vacía la caché del origen. Anote los casos en que solo la segunda lectura se vuelve más rápida y tenga en cuenta que las lecturas de verificación del contenido pueden afectar a la prueba siguiente. Este procedimiento observa tendencias similares a las de una copia ordinaria; no es una medición estricta del rendimiento del soporte sin caché.[S8: File Caching]
Conservará los tiempos y las condiciones de medición de A, B y C. En la tabla de registro de la sección Verificación, utilice A como control y compare B y C como métodos para colocar el mismo conjunto de archivos; al evaluar la velocidad, tenga en cuenta únicamente los intentos correctos.
Comparar la concurrencia de robocopy cuando ZIP no resulte adecuado
Utilice la misma sesión de PowerShell en la que se crearon los datos experimentales. Confirme que $smallDir apunta a esos datos, que se pueden escribir registros en $lab y que la carpeta primaria del destino admite escritura. Conserve los datos originales y cree un destino nuevo para cada ejecución. No añada opciones que eliminen datos, como /MIR, /PURGE o /MOVE.
flowchart TB
accTitle: Superponer los tiempos de espera de los archivos
accDescr: Al procesar varios archivos simultáneamente, uno puede transferirse mientras otro espera.
A["Procesar varios archivos simultáneamente"] --> B["El archivo A espera una respuesta"]
A --> C["Se transfiere el archivo B"]
B --> D["Superponer los tiempos de espera"]
C --> D
Figura 11: La concurrencia superpone los tiempos de espera; no acelera por sí misma el enlace de red ni el disco.
-
Confirme por qué ZIP no resulta adecuado, por ejemplo porque necesita utilizar inmediatamente los archivos individuales o enviar cambios repetidamente.
La opción /MT de robocopy procesa varios archivos simultáneamente. Mientras una operación espera una respuesta, otra transferencia puede avanzar, pero esto no aumenta la velocidad del enlace de red ni del dispositivo.[S9: robocopy] [S4: Performance Tuning for SMB File Servers]
-
Cambie $targetRoot por un destino en el que pueda escribir y ejecute el código siguiente.
$targetRoot = '\\NAS\share\CopyLab' # Cambie esto por su destino de copia $runId = [guid]::NewGuid().ToString('N') $target = Join-Path $targetRoot ('small-mt8-' + $runId) $log = Join-Path $lab ('robocopy-' + $runId + '.log') robocopy $smallDir $target /E /MT:8 /R:1 /W:1 /XJ "/LOG:$log" $code = $LASTEXITCODE if ($code -ge 8) { throw "La copia notificó un fallo. Código de salida=$code; registro=$log" } Write-Host "Código de salida=$code. Compruebe en el registro las cantidades copiadas, omitidas, no coincidentes y fallidas, y verifique el contenido del destino: $log"Sustituya los nombres de ejemplo del NAS y del recurso compartido. Aplicando la misma regla de medición, mida desde justo antes del inicio del comando hasta que termine y conserve tanto la ruta del registro mostrada como el código de salida.
-
Compare /MT:1 con /MT:8 del mismo modo, manteniendo constantes todas las condiciones salvo la concurrencia.
Cada nueva ejecución crea un destino y un registro con un GUID nuevo. La parte small-mt8 del nombre de la carpeta de ejemplo identifica la condición; al probar /MT:1, cámbiela por small-mt1 para poder distinguir los registros. No cambie simultáneamente el uso de ZIP y la concurrencia; evalúe un solo cambio cada vez.
/MT:8 es un punto de partida para la comparación, no un valor óptimo. Una concurrencia excesiva puede aumentar la carga del sistema remoto y ralentizar la copia. No interprete los errores como prueba de mayor velocidad; examine el registro y el contenido del destino.[S1: Slow SMB files transfer speed]
Para el mismo conjunto de archivos B, conservará el tiempo, el registro y el resultado de la verificación del contenido de cada nivel de concurrencia. Un código de salida de 8 o superior incluye un fallo y hace que el ejemplo se detenga, pero los códigos de salida del 0 al 7 siguen requiriendo la verificación siguiente.
Verificación
Evalúe la finalización de dos maneras independientes: compruebe si el contenido está completo y si se redujo el tiempo necesario para que pudiera utilizarse en condiciones equivalentes. Una indicación de copia terminada o un código de salida no sustituyen la comprobación de integridad.
Comparar el número de elementos, el contenido y los resultados del comando
Resultados esperados y punto al que volver tras un fallo
| Objetivo | Resultado esperado | Si no coincide |
|---|---|---|
| Destino de A | Un archivo one.bin de 1 000 000 000 de bytes. | Excluya el intento y examine el origen generado, el destino y el registro. |
| Destino de B | 10 000 archivos, desde part-00000.bin hasta part-09999.bin, que suman 1 000 000 000 de bytes. | Compruebe si se omitieron archivos, hubo fallos o se mezclaron datos en el destino. |
| C después de la extracción | Los mismos nombres de archivo relativos, número de elementos y total de bytes que la carpeta small de B. | Compruebe la jerarquía de extracción y determine si se perdieron archivos durante la creación, la transferencia o la extracción del ZIP. |
La coincidencia del número de archivos y de sus tamaños no demuestra que el contenido sea idéntico. Cuando sea necesario, compare fuera del intervalo cronometrado los hashes de los archivos correspondientes del origen y el destino. Las lecturas de verificación pueden afectar al estado de la caché en pruebas posteriores, por lo que debe anotar cuándo se realizan.
flowchart TB
accTitle: Verificar el contenido antes de comparar los tiempos
accDescr: Compruebe el número y el tamaño, compare los hashes cuando sea necesario y no considere mejora de velocidad los intentos que contengan diferencias o fallos.
A["Comprobar el número y el tamaño"] --> B{"¿Coinciden?"}
B -->|sí| C["Comparar los hashes cuando sea necesario"]
B -->|no| D["Excluir el intento e investigar"]
C --> E{"¿Hay alguna diferencia o algún fallo?"}
E -->|no| F["Comparar los tiempos en condiciones equivalentes"]
E -->|sí| D
Figura 12: Compruebe por separado la velocidad mostrada y la corrección del contenido copiado.
Opciones y códigos de salida de robocopy
| Opción o resultado | Significado en este ejemplo |
|---|---|
| /E | Copia todos los subdirectorios, incluidos los vacíos. |
| /MT:8 | Copia simultáneamente con ocho subprocesos; compárelo con /MT:1. |
| /R:1 /W:1 | Reintenta una vez después de un fallo y espera un segundo antes de reintentarlo. |
| /XJ | Excluye los puntos de unión; esta comparación se limita a los archivos ordinarios generados. |
| /LOG | Escribe un registro independiente para cada ejecución. |
| Código de salida 1 | Puede devolverse después de una copia correcta; un valor distinto de cero no significa por sí solo que haya ocurrido un fallo. |
| Código de salida 8 o superior | Se produjo al menos un fallo de copia; detenga la comparación de velocidad y examine el registro. |
| Código de salida 0–7 | No garantiza por sí solo que la copia esté completa; examine las cantidades copiadas, omitidas, no coincidentes y fallidas, y verifique los archivos reales. |
La documentación de robocopy de Microsoft describe las opciones y los códigos de salida. La información copiada de forma predeterminada incluye los datos, los atributos y las marcas de tiempo; este ejemplo no constituye una copia de seguridad completa que conserve todos los elementos, como las listas de control de acceso.[S9: robocopy]
Registrar las mediciones reales
Tabla de resultados que debe completar
La tabla siguiente no contiene deliberadamente ningún resultado numérico medido. Anote las condiciones, el orden de las pruebas, la ubicación de extracción y la presencia o ausencia de errores. Conserve los tiempos transcurridos sin procesar y su variación, no únicamente la mediana.
| Caso | Tiempo de creación | Tiempo de transferencia | Tiempo de extracción | Tiempo total hasta que pueda utilizarse |
|---|---|---|---|---|
| A: un archivo grande | Se excluye como preparación de la comparación | Medir y anotar | No es necesario | Tiempo de transferencia, utilizado como control |
| B: 10 000 archivos pequeños | Se excluye como preparación de la comparación | Medir y anotar | No es necesario | Tiempo de transferencia |
| C: ZIP sin compresión de B | Anotar la creación del ZIP | Medir y anotar | Anotar cuando sea necesario | Creación + transferencia + extracción |
Evalúe B y C con la condición de que el mismo conjunto de archivos pueda utilizarse en el mismo destino final. La extracción no es necesaria si el ZIP solo se va a almacenar, pero esa condición es distinta de utilizar los archivos individuales. Si las distribuciones de las pruebas repetidas se solapan, los resultados no demuestran una mejora de velocidad superior a la variación observada.
Distinguir la lentitud de los fallos
Determine si solo son lentos los conjuntos grandes de archivos pequeños, si también lo son los archivos grandes y si la copia local del mismo archivo es lenta. Si la velocidad de transferencia disminuye durante la operación, también podría intervenir la caché; la velocidad indicada por sí sola no permite identificar la causa.[S8: File Caching] [S1: Slow SMB files transfer speed]
flowchart TB
accTitle: Delimitar el alcance de la lentitud de copia
accDescr: Distinga la lentitud limitada a los archivos pequeños de la que aparece independientemente de la forma de los datos.
A{"¿Solo son lentos los archivos pequeños?"} -->|sí| B["Examinar el número de archivos y el tiempo de espera"]
A -->|no| C["Examinar también los dispositivos, las conexiones y la carga"]
B --> D["Comprobar también los fallos y las desconexiones"]
C --> D
Figura 13: La copia lenta de archivos pequeños no es lo mismo que un fallo de copia o una avería del dispositivo.
Si la copia falla, se interrumpe la conexión o el rendimiento empeora de forma repentina respecto al pasado, no explique el problema únicamente por el número de archivos. Detenga la comparación y dé prioridad a la conservación de los datos importantes mientras comprueba los registros, las conexiones, el espacio libre y el estado del dispositivo. En un entorno administrado, facilite las condiciones y los registros al administrador responsable.
Después de la verificación, elimine los datos experimentales únicamente tras confirmar que la carpeta copylab mostrada y cada destino de prueba corresponden a los datos que creó. No se proporciona ningún comando de eliminación automática. No elimine las fotos ni los documentos originales.
Limitaciones
Qué puede y qué no puede demostrar esta comparación
Esta explicación muestra cómo puede afectar el número de archivos al tiempo transcurrido; no constituye un diagnóstico definitivo de la causa principal en un dispositivo concreto. Los ejemplos numéricos son hipotéticos y los procedimientos de comparación no se presentan como mediciones ya realizadas. Cambiar el uso de ZIP o la concurrencia no garantiza una mejora del rendimiento.
Aunque se utilice un destino nuevo y vacío, las cachés de lectura del sistema operativo y el estado de los dispositivos no quedan completamente igualados. El tiempo hasta que se cierra la ventana de copia tampoco mide si todas las escrituras sobrevivirían a una pérdida de alimentación. No lo compruebe desconectando inmediatamente un dispositivo externo; utilice el procedimiento normal de extracción segura.[S8: File Caching]
Las copias de seguridad y las funciones de protección son requisitos independientes
Los archivos .bin generados y el ZIP sin compresión son datos comparativos. Compress-Archive tiene limitaciones, como la omisión de archivos ocultos, y una invocación ordinaria de robocopy no conserva todos los atributos y permisos. No diseñe una copia de seguridad completa de datos importantes basándose únicamente en esta comparación de velocidad.[S7: Compress-Archive] [S9: robocopy]
Este artículo no recomienda desactivar la protección antivirus ni la firma SMB para aumentar la velocidad. La firma SMB protege las comunicaciones frente a manipulaciones. No eluda la configuración de un PC administrado; consulte al administrador responsable.[S10: SMB signing overview]
Antes de comprar un dispositivo más rápido, empiece por examinar el tamaño total y el número de archivos, la ruta de copia real y el tiempo completo hasta que los archivos puedan utilizarse. Mantenga separadas la decisión de adoptar una optimización y la verificación de que el contenido se copió correctamente.
Referencias
Estas fuentes se consultaron el 17 de septiembre de 2026. A continuación se indica qué parte de la explicación respalda cada una. Los ejemplos de configuración incluidos en documentación para servidores no deben aplicarse directamente por usuarios generales ni a todos los NAS.
[S1] Microsoft Learn, Slow SMB files transfer speed. Respalda la explicación de la sobrecarga de creación de archivos, comunicación e inspección al trabajar con muchos archivos pequeños, así como de la copia simultánea y la extracción de un archivo en el destino.
[S2] Microsoft Learn, CreateFileW function. Describe la apertura y creación de archivos, el acceso solicitado y los modos de uso compartido.
[S3] Microsoft Learn, Master File Table. Describe cómo NTFS mantiene información de administración para cada archivo.
[S4] Microsoft Learn, Performance Tuning for SMB File Servers. Respalda la explicación de la concurrencia y el registro de robocopy al copiar archivos pequeños.
[S5] Microsoft Open Specifications, Sending Compounded Requests. Describe cómo SMB2 puede enviar juntas varias operaciones relacionadas.
[S6] Microsoft Support, Zip and unzip files. Respalda la agrupación de archivos en ZIP e indica que formatos ya comprimidos, como JPEG, podrían reducir muy poco su tamaño.
[S7] Microsoft Learn, Compress-Archive. Describe NoCompression y limitaciones como la omisión de archivos ocultos.
[S8] Microsoft Learn, File Caching. Describe la caché de archivos del sistema y el comportamiento de escritura diferida.
[S9] Microsoft Learn, robocopy. Describe la concurrencia, los reintentos, el registro, la información copiada y los códigos de salida.
[S10] Microsoft Learn, SMB signing overview. Describe la finalidad protectora y la función operativa de la firma SMB.
Artículos relacionados
Artículos recientes con las mismas etiquetas para profundizar en temas cercanos.
¿Qué es la programación de GPU acelerada por hardware en Windows? ¿Va más rápido si se activa?
Una guía ilustrada y no técnica de la programación de GPU acelerada por hardware (HAGS) de Windows: cómo funciona, cuándo activarla o des...
¿Por qué se corta el sonido si el uso de CPU es bajo? — Razonar a partir del búfer y del plazo
Explica, a partir del búfer y del plazo de reposición, por qué se corta el sonido aunque el uso de CPU sea bajo. Resume el ámbito de apli...
¿Por qué RDP va lento en una conexión rápida? — Separar la entrada, el dibujado y la red
La prueba de velocidad va rápida y, sin embargo, la escritura y el desplazamiento en Escritorio remoto se arrastran. La explicación va de...
¿Por qué «queda 1 segundo» tarda tanto? — Cómo funcionan las barras de progreso y las estimaciones de tiempo
Por qué una tarea se queda en un segundo, se atasca al 99 % o no deja de preparar. Separar unidades de progreso, estimaciones de velocida...
Disco al 100 %: ¿qué hay que detener realmente? — Distinguir SysMain, Windows Search y Defender
Aislar el uso del disco de Windows al 100 % según la velocidad de transferencia, el tiempo de respuesta y los archivos. Pausar SysMain co...
Temas relacionados
Estas son páginas de temas cercanos a este. A partir del artículo, puede pasar a los servicios relacionados y a otros artículos.
Temas técnicos de Windows
Punto de entrada que reúne los temas técnicos de desarrollo de Windows, investigación de fallos y aprovechamiento de activos existentes.
Servicios relacionados con este tema
Este artículo enlaza con las siguientes páginas de servicios. Puede empezar por una entrada cercana a su situación.
Desarrollo de aplicaciones para Windows
Apoyamos el desarrollo de software Windows, como aplicaciones empresariales, integración de dispositivos y herramientas de comunicación.
Preguntas frecuentes
Preguntas habituales en las consultas sobre el tema del artículo.
- ¿Por qué una carpeta de fotos se copia más despacio aunque el tamaño sea el mismo?
- Una copia no es solo una transferencia del contenido. En cada archivo se crea el archivo de destino, se gestiona su información, se cierra, y así sucesivamente. Cuando hay muchos archivos pequeños, crece la parte de este procesamiento y de las esperas. Lo que importa no es el formato de foto en sí, sino el número de archivos y el tamaño de cada uno.
- ¿Los archivos pequeños siguen copiándose despacio en un SSD o en una LAN rápida?
- Sí. Incluso en un SSD el trabajo de gestión de archivos permanece, y al copiar a un NAS o similar se añade el tiempo de espera de la red y del procesamiento del otro lado. La velocidad de una transferencia continua de archivos grandes y la velocidad de tratar muchos archivos pequeños son dos cosas distintas.
- Si los JPEG no se hacen más pequeños en un ZIP, ¿tiene sentido empaquetarlos?
- Aunque el tamaño apenas se reduzca, empaquetar en uno los archivos que se van a transferir sigue teniendo efecto. Crear y extraer el ZIP también lleva tiempo, eso sí. Para usos que requieren extracción, compare el tiempo total de creación, transferencia y extracción.
- ¿Va más rápido enviar un ZIP al NAS y extraerlo después a la carpeta compartida desde el PC?
- Con ese método el PC escribe en el NAS los archivos pequeños extraídos, así que la creación de archivos a través de la red ocurre otra vez. Distíngalo de extraer dentro del NAS con una función que el propio NAS admite, y mida incluyendo la extracción.
- ¿La copia en paralelo de robocopy se hace más rápida cuantos más subprocesos se añaden?
- No. El paralelismo permite solapar las esperas por archivo, pero también aumenta la carga del almacenamiento o del NAS. Compare en las mismas condiciones empezando por un número pequeño de subprocesos, y revise también el registro por errores de copia y archivos omitidos.
Perfil del autor
Página de presentación del autor del artículo.
Go Komura
Representante de KomuraSoft LLC
Especializado en desarrollo de software para Windows, consultoría técnica e investigación de fallos, con especial solvencia en proyectos en los que perduran activos existentes y en investigaciones de fallos cuya causa cuesta ver.