Même 1 GB, et pourtant un dossier de photos se copie plus lentement qu'une seule vidéo — pourquoi ?

· Mis à jour le: · · Windows, Windows 11, Copie de fichiers, Performances, SSD, NAS, ZIP, robocopy

Historique des révisions (première version, publiée le 5 Sep 2026)
Première publication

Même pour un volume total de 1 GB, la durée de la copie varie selon le nombre de fois où il faut ouvrir, créer et fermer des fichiers. Cet article explique le rôle du nombre de fichiers et des temps d’attente, puis montre comment comparer un transfert par ZIP et une copie parallèle dans des conditions identiques.

Dans le diagramme, un trait continu marque une relation qui vaut toujours et un trait pointillé une relation conditionnelle (les conditions figurent dans l’explication de chaque relation sur la page de détail). La liste complète des relations (11 au total, avec preuve et niveau de certitude) et les définitions des concepts principaux sont rassemblées sur la page de détail de la carte des connaissances (en japonais). Données : JSON-LD / Turtle

Problème / Question

Une vidéo de 1 GB s’est copiée rapidement, alors qu’un dossier de photos totalisant 1 GB prend beaucoup plus de temps. Pourquoi le débit affiché diminue-t-il lors du déplacement d’un grand nombre de petits fichiers, même avec un SSD ou un réseau local rapide ?

Cet article répond à deux questions : « Pourquoi la durée de la copie diffère-t-elle alors que le volume total est identique ? » et « Comment déterminer si le regroupement des fichiers dans une archive ZIP ou leur copie en parallèle est utile dans mon environnement ? » Il ne s’agit pas de conclure à un ralentissement ou à une panne au seul motif que les fichiers sont des photos, mais de comparer leur nombre et le temps nécessaire pour qu’ils soient utilisables.

Environnement

Cet article s’adresse aux utilisateurs de Windows 11 qui copient des fichiers ordinaires réellement présents en local, tels que des photos et des documents, vers un lecteur externe ou un NAS accessible par un partage SMB. Un NAS est un dispositif de stockage utilisé par l’intermédiaire d’un réseau, et SMB est le protocole de communication couramment employé pour le partage de fichiers sous Windows.

Les exemples utilisent l’Explorateur de fichiers, Compress-Archive dans Windows PowerShell 5.1 ou une version ultérieure, ainsi que l’utilitaire robocopy fourni avec Windows. Pour exécuter les exemples de commandes, il faut disposer d’un droit de lecture sur la source et des droits permettant de créer et d’écrire des fichiers dans le dossier d’expérimentation et à l’emplacement de destination. Ces procédures ne contournent pas les contrôles d’accès au moyen de privilèges d’administrateur.[S7: Compress-Archive] [S9: robocopy]

L’extraction d’une archive ZIP directement sur le NAS n’est possible que si le produit propose cette fonction et si l’utilisateur est autorisé à s’en servir. La documentation SMB destinée aux serveurs est citée pour expliquer le mécanisme sous-jacent ; cela ne signifie pas que tous les NAS possèdent les mêmes paramètres ou les mêmes fonctions.

Cette explication repose sur des documents officiels consultés le 17 septembre 2026. Les exemples chiffrés ci-dessous sont des calculs fondés sur des hypothèses explicites, et les opérations décrites sont des procédures que les lecteurs peuvent exécuter dans leur propre environnement. Il ne s’agit pas de mesures réalisées sur un PC Windows, un SSD ou un NAS particulier. Le téléchargement de fichiers cloud disponibles uniquement en ligne et la conception d’une sauvegarde complète ne sont pas abordés.

Réponse / Solution

Le nombre total d’octets n’est pas le seul facteur qui détermine la durée d’une copie. La répétition, pour chaque fichier, des opérations de création, de gestion et de finalisation augmente le temps consacré à autre chose qu’au transfert du contenu. Avec un partage SMB, le temps passé à attendre le traitement et la réponse du système distant entre également en jeu. Le regroupement des fichiers dans une archive ZIP ou la copie parallèle avec robocopy peut être utile, mais aucune amélioration de la vitesse n’est garantie.[S1: Slow SMB files transfer speed]

Commencez par relever la taille totale et le nombre de fichiers, puis comparez les méthodes en utilisant le même chemin et le même emplacement final. Pour ZIP, comparez la somme des durées de création, de transfert et, si nécessaire, d’extraction. Pour la copie parallèle, utilisez les mêmes données et les mêmes options, en ne faisant varier que le niveau de parallélisme. Vérifiez séparément la vitesse et la réussite de la copie.

Définition

Copier un fichier ne consiste pas seulement à écrire son contenu à un autre emplacement. Il faut également créer le fichier de destination et définir les attributs, les dates, les heures et les autres informations nécessaires. Dans cet article, le traitement et l’attente nécessaires à la gestion de chaque fichier sont appelés « temps supplémentaire par fichier », afin de les distinguer du temps consacré au transfert du contenu.[S2: CreateFileW function]

L’expression « petits fichiers » n’est pas synonyme de photos. Quelques photos volumineuses et plusieurs dizaines de milliers de petites images constituent des situations différentes. La comparaison porte à la fois sur le nombre total d’octets du contenu — la « Taille » du dossier — et sur le nombre de fichiers, et non sur la seule « Taille sur le disque ».

Lors d’un déménagement, une grande caisse et dix mille petits colis dont il faut vérifier individuellement l’adresse peuvent avoir le même poids total tout en exigeant des quantités de travail très différentes. De même, « transporter 1 GB » et « traiter 10 000 fichiers » sont deux tâches distinctes.

Des nombres de fichiers différents pour un même volumeMême lorsque les données totalisent 1 GB, un fichier unique et de nombreux fichiers nécessitent des nombres différents d’opérations de gestion.Un total de 1 GB de donnéesUn fichier volumineux10 000 petits fichiersPeu d’opérations par fichierRépéter les opérations pour chaque fichier

Figure 1 : Un même nombre d’octets n’implique pas un même nombre de fichiers.

Dans les données utilisées ci-dessous à des fins d’explication, 1 GB correspond à 1 000 000 000 d’octets et 100 KB à 100 000 octets. Lors des comparaisons, relevez le nombre réel d’octets plutôt que de vous fier aux valeurs arrondies affichées par Windows ou par d’autres outils.

Rôle

Le but d’une copie est de rendre l’ensemble de fichiers nécessaire utilisable à l’emplacement voulu. Même si la fenêtre de transfert affiche un nombre élevé de MB/s, ce but n’est pas nécessairement atteint plus tôt si la création ou l’extraction de l’archive ZIP prend beaucoup de temps.

ZIP regroupe les fichiers à transférer, tandis que la copie parallèle fait se chevaucher les temps d’attente associés au traitement de plusieurs fichiers. Pendant qu’un transfert attend une réponse, un autre peut progresser ; le parallélisme n’ajoute pas de délai. Aucune de ces méthodes n’accélère la liaison réseau ou le disque lui-même, et chacune convient à des conditions différentes.[S1: Slow SMB files transfer speed] [S4: Performance Tuning for SMB File Servers]

Objectif du choix d’une méthode de copiePlacez le même ensemble de fichiers à l’emplacement voulu, vérifiez son contenu, puis comparez le temps nécessaire pour qu’il devienne utilisable.Placer le même ensemble de fichiers à destinationTerminer la copieVérifier le nombre et le contenuComparer le temps jusqu’à l’état utilisable

Figure 2 : Le choix de la méthode vise à rendre correctement utilisable le même ensemble de fichiers.

Un fichier volumineux sert de cas témoin pour observer l’effet du nombre de fichiers. Comme sa structure diffère de celle de 10 000 petits fichiers, il ne peut pas les remplacer dans un usage réel. Lors du choix d’une méthode pratique, l’objectif est de placer les fichiers individuels d’origine au même emplacement final.

Structure

Contenu, informations de gestion et chemin de copie

La copie comprend l’ouverture de la source, la création du fichier de destination, la lecture et l’écriture du contenu, la définition des informations nécessaires, puis la fermeture du fichier. Sous Windows, l’ouverture d’un fichier prend également en compte les droits d’accès demandés et le mode de partage qui détermine si d’autres processus peuvent ouvrir simultanément ce fichier.[S2: CreateFileW function]

Les informations utilisées pour gérer un fichier, telles que son nom, sa taille, sa date et son heure, sont appelées métadonnées. NTFS enregistre les informations de gestion de chaque fichier dans des structures telles que la table de fichiers maîtresse, ou MFT. La copie ne se résume donc pas à l’écriture des données de pixels d’une photo.[S3: Master File Table]

Travail nécessaire pour copier un fichierPour chaque fichier, il faut ouvrir la source, créer le fichier de destination, transférer le contenu, gérer les informations et fermer le fichier.Ouvrir la sourceCréer le fichier de destinationLire et écrire le contenuDéfinir les informations et fermerRecommencer pour le fichier suivant

Figure 3 : Il s’agit d’un déroulement conceptuel. L’ordre réel des opérations et leur exécution simultanée dépendent de la méthode de copie et du système de fichiers.

Élément à examiner Conditions à maintenir identiques lors de la comparaison
Contenu des fichiers Nombre total d’octets, nombre de fichiers, contenu et aptitude à la compression.
Dispositif de stockage et opérations de gestion Dispositifs source et destination, espace libre, système de fichiers et charge simultanée.
Chemin et méthode de copie Stockage local ou partage SMB, réseau, application de copie et dispositif qui effectue l’extraction.

Les opérations de gestion des fichiers restent nécessaires même avec un SSD. N’estimez pas la durée de copie de 10 000 fichiers à partir du seul débit séquentiel élevé d’un fichier volumineux, et ne qualifiez pas systématiquement toute copie de petits fichiers d’E/S aléatoires. Examinez séparément la disposition des données et la charge liée au traitement de chaque fichier.[S3: Master File Table] [S1: Slow SMB files transfer speed]

Fonctionnement

Les mécanismes susceptibles de produire des durées différentes pour un même volume se répartissent en trois catégories : l’attente des réponses, le regroupement dans une archive ZIP et l’emplacement où l’extraction est effectuée.

Sur un NAS, la bande passante et l’attente des réponses ont des effets distincts

Avec un partage SMB, le PC peut demander une opération sur un fichier, attendre que le système de fichiers distant la traite, puis attendre le retour de la réponse. Lorsque de nombreux petits fichiers sont copiés successivement, la création des fichiers et les opérations associées peuvent occuper une part de temps supérieure à l’envoi de leur contenu, si bien que la bande passante du réseau n’est pas entièrement utilisée.[S1: Slow SMB files transfer speed]

Opérations sur les fichiers à travers un réseauLa demande du PC traverse le réseau, le système distant traite le fichier, puis la réponse revient au PC.Le PC demande une opération sur un fichierLa demande traverse le réseauLe système distant traite le fichierLa réponse revient au PC

Figure 4 : Pouvoir transporter une grande quantité de données en une fois et répondre rapidement à chaque opération sont deux capacités différentes.

La bande passante est comparable au nombre de voies d’une route, tandis que la latence correspond au temps nécessaire pour recevoir une réponse. L’analyse antivirus peut également influer sur le temps de traitement de chaque fichier.[S1: Slow SMB files transfer speed]

Cela ne signifie toutefois pas que chaque fichier entraîne nécessairement un nombre fixe d’échanges réseau. SMB peut regrouper plusieurs demandes d’opérations, tandis que la mise en cache et le traitement simultané modifient également la manière dont les attentes se produisent. Ne considérez pas un LAN domestique et un dossier partagé situé sur un site distant comme des environnements équivalents.[S5: Sending Compounded Requests] [S8: File Caching]

Évaluer séparément la compression et le regroupement assurés par ZIP

ZIP peut à la fois compresser les données et regrouper plusieurs fichiers dans un même conteneur. Le format JPEG étant déjà compressé, placer des fichiers JPEG dans une archive ZIP peut ne réduire que très peu leur taille. L’archive permet néanmoins de faire passer le nombre de fichiers à transférer de 10 000 à un seul.[S6: Zip and unzip files]

Les deux rôles de ZIPLe regroupement modifie le nombre de fichiers transférés, tandis que la compression modifie le nombre d’octets transférés ; ce sont deux effets distincts.Regrouper les photos dans une archive ZIPTransférer un seul fichierLa variation de taille dépend du contenu

Figure 5 : Même si la compression est minime, ZIP peut réduire le nombre de fichiers à transférer.

Si les photos doivent finalement être utilisées comme des fichiers ordinaires dans un dossier, comparez la durée totale suivante :

Durée avec ZIP = création du ZIP + transfert du ZIP + extraction

La création de l’archive ZIP lit chacun des petits fichiers, et l’extraction les recrée un par un à l’emplacement d’extraction. Le traitement propre à chaque fichier ne disparaît pas : la méthode change l’endroit où il est effectué et la forme sous laquelle les fichiers sont transportés. Si le traitement avant et après le transfert est important, il peut être plus rapide de ne pas regrouper les fichiers.[S1: Slow SMB files transfer speed]

Distinguer le dispositif qui effectue l’extraction

Si une archive ZIP est envoyée au PC du destinataire puis extraite sur le disque local de ce PC, il n’est pas nécessaire de créer les petits fichiers un par un à travers le réseau. Microsoft décrit également l’extraction d’une archive sur le système de destination plutôt qu’une extraction effectuée à distance.[S1: Slow SMB files transfer speed]

Extraction sur la destination et extraction depuis le PC vers un partageDistinguez le chemin où la destination extrait l’archive en interne de celui où le PC écrit chaque fichier extrait dans une destination partagée.Envoyer le ZIP à la destinationLa destination l’extrait en interneExtraire avec une application sur le PCEnvoyer les petits fichiers vers le partage

Figure 6 : Le fait que le fichier ZIP soit stocké sur le NAS ne signifie pas que l’extraction est elle aussi effectuée à l’intérieur du NAS.

Si vous ouvrez dans l’Explorateur de fichiers du PC une archive ZIP stockée sur le NAS et choisissez le même dossier partagé comme emplacement d’extraction, le PC écrit sur le NAS, via SMB, les petits fichiers qu’il a extraits. Ce chemin entraîne de nouveau de nombreuses opérations réseau portant sur des fichiers individuels et doit être distingué de l’extraction interne réalisée par une fonction du NAS lui-même.

Si le NAS ne dispose pas de cette fonction, mesurez l’intégralité du chemin réellement disponible. Une extraction effectuée à l’intérieur du NAS et une extraction locale sur le PC aboutissent à des emplacements finaux différents ; leurs durées ne peuvent donc pas être comparées directement comme s’il s’agissait de la même tâche.

Exemples

Cette section présente un calcul destiné à l’explication ainsi que les données de comparaison créées au cours de la procédure. Aucun des deux ne constitue une mesure de vitesse obtenue sur une machine réelle.

Calcul simplifié pour 1 GB et 10 000 fichiers

Le modèle conceptuel suivant suppose que les opérations sont exécutées successivement sans se chevaucher. Il ne s’agit pas de la formule exacte utilisée par Windows.

Durée de la copie ≒ nombre total d’octets ÷ débit de transfert des données
                     + nombre de fichiers × temps supplémentaire par fichier

À titre d’exemple, supposons un débit de transfert des données de 100 MB/s et un temps supplémentaire de 2 millisecondes par fichier. Puisque 1 GB correspond ici à 1 000 MB, le transfert des données prend 10 secondes. Le temps supplémentaire est de 0,002 seconde pour un fichier et de 20 secondes pour 10 000 fichiers, ce qui donne dans ce dernier cas une durée totale illustrative d’environ 30 secondes.

Décomposer la durée de la copie en deux composantesDistinguez le temps de transfert déterminé par le volume total du temps supplémentaire qui s’accumule avec le nombre de fichiers.Temps déterminé par le volume totalDurée totale de la copieTemps supplémentaire déterminé par le nombre de fichiers

Figure 7 : Lorsque le nombre de fichiers augmente, la durée peut dépendre d’autre chose que de la seule quantité de données.

Ces valeurs sont calculées à partir d’hypothèses. Le parallélisme, les caches ainsi que les limites du processeur et du stockage ne sont pas pris en compte ; ce calcul ne permet donc pas de prévoir qu’un dispositif réel prendra 30 secondes.

Un fichier volumineux, un ensemble de petits fichiers et un ZIP non compressé

Correspondance entre les données de comparaison

Vous pouvez observer des tendances à l’aide de vos propres vidéos et photos, mais ces fichiers diffèrent également par leur contenu et leur aptitude à la compression. La procédure de génération suivante écrit la même séquence d’octets dans un fichier unique et dans un ensemble de petits fichiers, puis crée à partir de ces derniers une archive ZIP non compressée.

Cas Composition Contenu total
A Un fichier one.bin de 1 GB. 1 000 000 000 d’octets.
B 10 000 fichiers de 100 KB, nommés de part-00000.bin à part-09999.bin. 1 000 000 000 d’octets.
C Un fichier small.zip non compressé contenant le dossier small de B. Après extraction, le contenu est identique à B ; le ZIP ajoute ses propres informations de gestion.
Trois formes de données de comparaisonCréez un fichier volumineux et un ensemble de petits fichiers ayant le même contenu total, puis créez à partir de ces derniers une archive ZIP non compressée.Préparer le même total de 1 GBUn fichier de 1 GB10 000 fichiers de 100 KBPlacer le même contenu dans un ZIP non compressé

Figure 8 : Un ZIP non compressé permet d’observer séparément l’effet du regroupement et la variation de taille liée à la compression.

A et B contiennent le même nombre total d’octets, mais le fichier ZIP de C ne mesure pas exactement 1 000 000 000 d’octets. Les fichiers .bin créés à partir de données pseudo-aléatoires ne peuvent pas être ouverts comme de véritables photos ou vidéos, ne permettent pas d’évaluer la qualité d’une photo et ne reproduisent pas le comportement des applications qui traitent de vrais fichiers multimédias.

Procédure

Commencez par effectuer la comparaison dans l’Explorateur de fichiers. Ne comparez les niveaux de parallélisme de robocopy que si cela est nécessaire. Utilisez des données de test plutôt que des photos ou des documents importants, et ne confondez pas la copie avec le déplacement.

Ne modifiez pas en cours de test les fonctions de protection, la signature SMB, les paramètres de synchronisation ni les réglages similaires. Si les autorisations d’écriture ou les opérations sur le NAS sont administrées, ne contournez pas les restrictions définies ; consultez la personne responsable.[S10: SMB signing overview]

Créer des fichiers de test ayant la même taille totale

Utilisez Windows PowerShell 5.1 ou une version ultérieure et vérifiez que le dossier temporaire se trouve sur un lecteur local. Les jeux de données A et B occupent environ 2GB au total, et environ 3GB avec le fichier ZIP. Prévoyez au moins 5GB d’espace libre sur le lecteur source et suffisamment d’espace sur la destination pour toutes les copies et extractions prévues au cours des essais. Exécutez successivement les exemples PowerShell suivants dans la même session.

Créer deux jeux de données à partir des mêmes séquences d’octetsChaque bloc généré de 100000 octets pseudo-aléatoires est ajouté au fichier volumineux et enregistré dans un petit fichier distinct.Générer 100000 octetsLes ajouter à one.binLes enregistrer dans un fichier part distinctRépéter 10000 fois

Figure 9 : L’écriture des mêmes données générées dans les deux jeux garantit que leur contenu total comporte le même nombre d’octets.

  1. Vérifiez que vous allez travailler dans un nouveau dossier de test sans utiliser de données existantes.

    Le code crée un dossier copylab dont le nom est unique. Notez l’emplacement affiché. La procédure ne reprend pas silencieusement une exécution interrompue : si une erreur se produit, excluez de la comparaison les données créées pendant cette exécution.

  2. Exécutez le code suivant pour créer un fichier volumineux et un ensemble de petits fichiers.

    $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 'Prévoyez au moins 5GB d’espace libre sur le lecteur utilisé pour le test.'
    }
    $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 "Emplacement créé : $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 "Préparation terminée. Chaque jeu de données contient $([long]$fileCount * $buffer.Length) octets."
    
  3. Confirmez que la préparation est terminée, puis vérifiez le nombre d’éléments et la taille totale des jeux de données large et small.

    Le fichier one.bin du dossier large doit avoir une taille de 1,000,000,000 octets. Le dossier small doit contenir 10000 fichiers de 100000 octets chacun. Vérifiez le nombre d’octets du contenu, par exemple dans les propriétés du dossier. Le seul affichage d’un message de fin ne permet pas de conclure qu’une copie ultérieure est correcte.

Les jeux de données A et B sont créés dans un même dossier de test. Les mêmes séquences d’octets sont écrites sous la forme d’un fichier unique et sous la forme de fichiers séparés ; chacun des deux jeux contient donc 1,000,000,000 octets. Les données pseudo-aléatoires évitent la compressibilité extrême d’un fichier rempli de zéros, mais elles ne garantissent pas les mêmes caractéristiques de performances qu’un véritable ensemble de photos.

Créer un ZIP sans compression et relever son temps de création

Vérifiez que l’étape précédente de génération s’est terminée correctement et que $lab et $smallDir sont toujours définis dans la même session PowerShell. Cette procédure s’applique uniquement aux fichiers ordinaires générés pour le test. Compress-Archive présente des limitations, notamment l’exclusion des fichiers cachés ; n’utilisez donc pas cet exemple pour réaliser une sauvegarde complète d’un dossier important.

  1. Exécutez le code suivant dans la même session PowerShell.

    $zip = Join-Path $lab 'small.zip'
    $watch = [System.Diagnostics.Stopwatch]::StartNew()
    Compress-Archive -LiteralPath $smallDir -DestinationPath $zip -CompressionLevel NoCompression
    $watch.Stop()
    Write-Host "Création du ZIP : $($watch.Elapsed.TotalSeconds) secondes"
    Write-Host "Taille du ZIP : $((Get-Item -LiteralPath $zip).Length) octets"
    

    NoCompression stocke les fichiers dans le ZIP sans en compresser le contenu. L’archive contient néanmoins ses propres informations de gestion.[S7: Compress-Archive]

  2. Relevez le nombre de secondes nécessaires à la création du ZIP et la taille du fichier ZIP en octets.

    Vérifiez que small.zip a été créé. Après l’extraction, les fichiers se trouvent dans un dossier small ; la vérification ultérieure du nombre d’éléments doit donc porter sur le contenu de ce dossier. Excluez les tentatives de création qui ont échoué et vérifiez les données de test d’origine ainsi que l’espace libre avant de réessayer.

Vous disposez maintenant de C, qui contient les mêmes fichiers que B, ainsi que du temps de création du ZIP. La création de A et de B relève de la préparation du test, tandis que la création du ZIP constitue un coût propre à la méthode utilisant ZIP et doit être incluse dans la comparaison.

Copier par le même chemin et mesurer le temps jusqu’à ce que les fichiers soient utilisables

Conservez les mêmes appareils source et destination, la même connexion, la même application et la même charge simultanée. Vous devez disposer des autorisations et de la capacité nécessaires pour préparer une nouvelle destination vide à chaque tentative. Vérifiez le contenu après la période chronométrée, sans inclure cette vérification dans la mesure. L’objectif de la comparaison est de rendre B et C utilisables au même emplacement final.

Procédure pour aligner les conditions de comparaisonConservez le même chemin et la même méthode, changez l’ordre des essais, copiez plusieurs fois vers une nouvelle destination vide, puis vérifiez le contenu après la copie.Mêmes appareils, même chemin et même méthodeNouvelle destination vide à chaque essaiMesurer plusieurs fois dans des ordres différentsVérifier aussi le nombre et le contenu

Figure 10 : Ne confondez pas le temps économisé parce qu’un fichier existant a été ignoré avec une accélération du transfert.

  1. Relevez les appareils, le chemin, la méthode de copie et l’appareil qui effectue l’extraction.

    Ne mélangez pas les copies effectuées au sein d’un même lecteur physique avec les copies entre appareils différents. N’utilisez pas de fichiers cloud disponibles uniquement en ligne, et conservez les mêmes conditions pour l’antivirus et la synchronisation. Si le NAS ne peut pas extraire lui-même l’archive, consignez le chemin réel comme une extraction effectuée par le PC vers la destination partagée.

  2. À l’aide de l’Explorateur de fichiers, copiez séparément A, B et C vers de nouvelles destinations vides.

    N’utilisez pas la commande de déplacement. Pour chaque cas, appliquez la même règle de mesure entre le début de la copie et la fermeture de l’indication de fin. Relevez le temps écoulé, et non une estimation du temps restant ou une vitesse instantanée affichée. N’incluez pas dans une comparaison à conditions égales les tentatives qui demandent d’ignorer ou de remplacer des fichiers existants.

  3. Si C doit être utilisé sous la forme de fichiers individuels, mesurez également le temps d’extraction.

    Lorsque la comparaison exige des fichiers extraits, additionnez les temps de création, de transfert et d’extraction du ZIP. Incluez le temps de création du ZIP mesuré précédemment comme coût fixe dans chaque comparaison ; si un même ZIP est réutilisé plusieurs fois, consignez cette pratique comme une condition distincte. Même si l’emplacement final est identique, indiquez si l’extraction a été effectuée par le PC avec une écriture via SMB ou directement à l’intérieur du NAS au moyen de sa propre fonction.

  4. Mesurez chaque cas plusieurs fois — par exemple trois fois — dans des ordres différents, puis relevez la médiane et la dispersion des résultats.

    Une nouvelle destination n’efface pas le cache du côté de la source. Relevez les cas où seule la deuxième lecture devient plus rapide et tenez compte du fait que les lectures effectuées pour vérifier le contenu peuvent influer sur l’essai suivant. Cette procédure permet d’observer des tendances proches d’une copie ordinaire ; elle ne constitue pas une mesure rigoureuse des performances du support sans cache.[S8: File Caching]

Vous conservez les temps et les conditions de mesure de A, B et C. Dans le tableau de la section « Vérification », utilisez A comme cas témoin et comparez B et C comme deux méthodes permettant de placer le même ensemble de fichiers. Ne tenez compte que des tentatives réussies pour évaluer la vitesse.

Comparer les niveaux de parallélisme de robocopy lorsque ZIP ne convient pas

Utilisez la même session PowerShell que celle dans laquelle les données de test ont été créées. Vérifiez que $smallDir désigne bien ces données, que des journaux peuvent être écrits dans $lab et que vous disposez d’un droit d’écriture dans le dossier parent de la destination. Conservez les données d’origine et créez une nouvelle destination à chaque exécution. N’ajoutez pas d’options susceptibles de supprimer des données, telles que /MIR, /PURGE ou /MOVE.

Faire se chevaucher les temps d’attente des différents fichiersEn traitant plusieurs fichiers simultanément, un fichier peut être transféré pendant qu’un autre attend une réponse.Traiter plusieurs fichiers en parallèleLe fichier A attend une réponseLe fichier B est transféréFaire se chevaucher les temps d’attente

Figure 11 : Le parallélisme fait se chevaucher les temps d’attente ; il n’accélère pas la liaison réseau ni le disque eux-mêmes.

  1. Déterminez pourquoi ZIP ne convient pas, par exemple parce que les fichiers individuels doivent être utilisés immédiatement ou que des modifications doivent être envoyées à plusieurs reprises.

    L’option /MT de robocopy traite plusieurs fichiers en parallèle. Pendant qu’une opération attend une réponse, un autre transfert peut progresser, mais la vitesse de la liaison réseau ou de l’appareil lui-même ne change pas.[S9: robocopy] [S4: Performance Tuning for SMB File Servers]

  2. Modifiez $targetRoot afin qu’il désigne une destination dans laquelle vous pouvez écrire, puis exécutez le code suivant.

    $targetRoot = '\\NAS\share\CopyLab' # À remplacer par votre destination de copie
    $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 copie a signalé un échec. Code de sortie=$code ; journal=$log"
    }
    Write-Host "Code de sortie=$code. Vérifiez dans le journal le nombre d’éléments copiés et en échec, puis vérifiez le contenu de la destination : $log"
    

    Remplacez le nom du NAS et le nom du partage donnés en exemple. En appliquant la même règle de mesure, chronométrez l’exécution depuis l’instant précédant le lancement de la commande jusqu’à sa fin, puis conservez le chemin du journal affiché et le code de sortie.

  3. Comparez /MT:1 et /MT:8 de la même manière, en maintenant constantes toutes les conditions autres que le niveau de parallélisme.

    Chaque nouvelle exécution crée une destination et un journal associés à un nouveau GUID. La partie small-mt8 du nom de dossier de l’exemple sert à identifier la condition ; lorsque vous testez /MT:1, remplacez-la également par small-mt1 afin de pouvoir distinguer les relevés. Ne modifiez pas simultanément l’utilisation de ZIP et le niveau de parallélisme, puis n’attribuez pas le résultat à un seul de ces changements. Évaluez une modification à la fois.

    /MT:8 est un point de départ pour la comparaison, et non une valeur optimale. Un parallélisme excessif peut accroître la charge du système distant et ralentir la copie. Ne considérez pas une exécution comportant des erreurs comme la preuve d’une accélération réussie ; examinez le journal et le contenu de la destination.[S1: Slow SMB files transfer speed]

Pour le même ensemble de fichiers B, vous conservez le temps, le journal et le résultat de la vérification du contenu pour chaque niveau de parallélisme. Un code de sortie supérieur ou égal à 8 indique qu’au moins un échec s’est produit et entraîne l’arrêt de l’exemple ; même avec un code compris entre 0 et 7, la vérification décrite dans la section suivante reste nécessaire.

Vérification

Évaluez l’achèvement de deux manières distinctes : vérifiez que le contenu est complet, puis déterminez si, à conditions identiques, le temps nécessaire pour rendre les fichiers utilisables a diminué. L’affichage indiquant que la copie est terminée ou le code de sortie ne remplace pas la vérification de l’intégrité.

Comparer le nombre d’éléments, le contenu et les résultats de la commande

Résultats attendus et étape à reprendre en cas d’échec
Élément vérifié Résultat attendu En cas de différence
Destination de A Un fichier one.bin de 1 000 000 000 octets. Excluez cet essai, puis examinez la source générée, la destination et le journal.
Destination de B 10 000 fichiers, de part-00000.bin à part-09999.bin, totalisant 1 000 000 000 octets. Recherchez les fichiers ignorés, les échecs et un éventuel mélange de données dans la destination.
C après extraction Les mêmes noms de fichiers relatifs, le même nombre d’éléments et le même total d’octets que dans le dossier small de B. Vérifiez l’arborescence d’extraction et déterminez si des fichiers ont été perdus lors de la création, du transfert ou de l’extraction du ZIP.

Des nombres et des tailles identiques ne prouvent pas que les contenus sont identiques. Si nécessaire, comparez les hachages des fichiers correspondants de la source et de la destination, en dehors de l’intervalle chronométré. Les lectures effectuées pour cette vérification peuvent modifier l’état du cache lors de l’essai suivant ; consignez donc le moment où elles ont lieu.

Vérifier le contenu avant de comparer les duréesVérifiez le nombre et la taille des fichiers, comparez les hachages si nécessaire et ne considérez pas comme un gain de vitesse un essai comportant une différence ou un échec.ouinonouinonVérifier le nombre et la tailleCorrespondent-ils ?Comparer les hachages si nécessaireExclure l’essai et rechercher la causeAucune différence ni aucun échec ?Comparer les durées dans les mêmes conditions

Figure 12 : vérifiez séparément la vitesse affichée et l’exactitude du contenu copié.

Options et codes de sortie de robocopy
Option ou résultat Signification dans cet exemple
/E Copier tous les sous-répertoires, y compris les répertoires vides.
/MT:8 Effectuer la copie en parallèle avec huit threads ; comparez cette option à /MT:1.
/R:1 /W:1 Effectuer une nouvelle tentative après un échec et attendre une seconde avant cette nouvelle tentative.
/XJ Exclure les points de jonction ; cette comparaison porte sur les fichiers ordinaires générés.
/LOG Écrire un journal distinct pour chaque exécution.
Code de sortie 1 Peut être renvoyé après une copie réussie ; une valeur différente de zéro ne signifie pas à elle seule qu’un échec s’est produit.
Code de sortie 8 ou supérieur Au moins un échec de copie s’est produit ; interrompez la comparaison des vitesses et examinez le journal.
Code de sortie 0–7 Ne garantit pas à lui seul que la copie est complète ; examinez les nombres d’éléments copiés, ignorés, non concordants et en échec, puis vérifiez les fichiers eux-mêmes.

La documentation de Microsoft consacrée à robocopy décrit les options et les codes de sortie. Par défaut, les informations copiées comprennent les données, les attributs et les horodatages ; cet exemple ne constitue pas une sauvegarde complète préservant tous les éléments, notamment les listes de contrôle d’accès.[S9: robocopy]

Consigner les mesures réelles

Tableau des résultats à remplir

Le tableau suivant ne contient volontairement aucun résultat numérique mesuré. Consignez les conditions, l’ordre des essais, l’emplacement de l’extraction et la présence ou l’absence d’erreurs. Conservez les durées brutes et leur dispersion, et pas seulement la médiane.

Cas Temps de création Temps de transfert Temps d’extraction Temps total jusqu’à la disponibilité
A : un grand fichier Exclu en tant que préparation de la comparaison Mesurer et consigner Non requis Temps de transfert, utilisé comme cas témoin
B : 10 000 petits fichiers Exclu en tant que préparation de la comparaison Mesurer et consigner Non requis Temps de transfert
C : ZIP non compressé de B Consigner la création du ZIP Mesurer et consigner Consigner si nécessaire Création + transfert + extraction

Évaluez B et C à condition que le même ensemble de fichiers puisse être utilisé dans la même destination finale. L’extraction n’est pas nécessaire si le ZIP est seulement conservé, mais cette situation diffère de celle où les fichiers individuels doivent être utilisés. Si les distributions des essais répétés se chevauchent, les résultats ne démontrent pas un gain de vitesse supérieur à la variation observée.

Distinguer la lenteur d’un échec

Déterminez si seuls les grands ensembles de petits fichiers sont lents, si les grands fichiers le sont également et si la copie locale du même fichier est lente. Si le débit diminue en cours de transfert, le cache peut aussi intervenir ; le débit affiché ne suffit pas à lui seul pour identifier la cause.[S8: File Caching] [S1: Slow SMB files transfer speed]

Délimiter la portée du ralentissement de la copieDistinguez une lenteur limitée aux petits fichiers d’une lenteur qui se produit quelle que soit la forme des données.ouinonSeuls les petits fichiers sont-ils lents ?Examiner le nombre de fichiers et les temps d’attenteExaminer aussi les appareils, les connexions et la chargeVérifier également les échecs et les déconnexions

Figure 13 : la lenteur de la copie de petits fichiers n’est pas la même chose qu’un échec de copie ou qu’un dysfonctionnement de l’appareil.

Si la copie échoue, si la connexion est interrompue ou si les performances deviennent soudainement bien moins bonnes qu’auparavant, n’expliquez pas le problème uniquement par le nombre de fichiers. Interrompez la comparaison et donnez la priorité à la préservation des données importantes pendant que vous vérifiez les journaux, les connexions, l’espace disponible et l’état des appareils. Dans un environnement administré, transmettez les conditions et les journaux à la personne responsable.

Après la vérification, ne supprimez les données expérimentales qu’après avoir confirmé que le dossier copylab affiché et chacune des destinations d’essai correspondent bien aux données que vous avez créées. Aucune commande de suppression automatique n’est fournie. Ne supprimez pas les photos ni les documents d’origine.

Limites

Ce que cette comparaison peut établir ou non

Cette explication montre comment le nombre de fichiers peut influer sur le temps écoulé ; elle ne constitue pas un diagnostic définitif de la cause première sur un appareil donné. Les exemples numériques sont hypothétiques et les procédures de comparaison ne sont pas présentées comme des mesures déjà effectuées. Ni l’utilisation d’un ZIP ni la modification du niveau de parallélisme ne garantissent une amélioration des performances.

Même avec une destination nouvelle et vide, les caches de lecture du système d’exploitation et l’état des appareils ne sont pas entièrement uniformisés. Le temps écoulé jusqu’à la fermeture de la fenêtre de copie ne permet pas non plus de savoir si toutes les écritures résisteraient à une coupure de courant. Ne tentez pas de le vérifier en débranchant immédiatement un appareil externe ; utilisez la procédure normale de retrait en toute sécurité.[S8: File Caching]

La sauvegarde et les fonctions de protection répondent à des exigences distinctes

Les fichiers .bin générés et le ZIP non compressé servent uniquement de données de comparaison. Compress-Archive présente des limites, notamment l’omission des fichiers cachés, et une invocation ordinaire de robocopy ne conserve pas tous les attributs ni toutes les autorisations. Ne concevez pas une sauvegarde complète de données importantes en vous fondant uniquement sur cette comparaison de vitesse.[S7: Compress-Archive] [S9: robocopy]

Cet article ne recommande pas de désactiver la protection antivirus ni la signature SMB afin d’augmenter la vitesse. La signature SMB protège les communications contre les altérations. Ne contournez pas les réglages d’un PC administré ; consultez la personne responsable.[S10: SMB signing overview]

Avant d’acheter un appareil plus rapide, commencez par examiner ensemble la taille totale, le nombre de fichiers, le chemin de copie réellement utilisé et le temps complet jusqu’à ce que les fichiers soient utilisables. Ne confondez pas la décision d’adopter une optimisation avec la vérification de l’exactitude du contenu copié.

Références

Ces sources ont été vérifiées le 17 septembre 2026. Le rôle de chacune dans l’explication est indiqué ci-dessous. Les exemples de configuration figurant dans la documentation destinée aux serveurs ne sont pas conçus pour être appliqués directement par les utilisateurs ordinaires ni à tous les NAS.

[S1] Microsoft Learn, Slow SMB files transfer speed. Étaye l’explication de la charge liée à la création des fichiers, aux communications et aux contrôles lors du traitement d’un grand nombre de petits fichiers, ainsi que de la copie en parallèle et de l’extraction d’une archive sur le système de destination.

[S2] Microsoft Learn, CreateFileW function. Décrit l’ouverture et la création des fichiers, les droits d’accès demandés et les modes de partage.

[S3] Microsoft Learn, Master File Table. Décrit la manière dont NTFS conserve les informations de gestion de chaque fichier.

[S4] Microsoft Learn, Performance Tuning for SMB File Servers. Étaye l’explication du parallélisme et de la journalisation de robocopy lors de la copie de petits fichiers.

[S5] Microsoft Open Specifications, Sending Compounded Requests. Décrit comment SMB2 peut envoyer ensemble plusieurs opérations liées.

[S6] Microsoft Support, Zip and unzip files. Étaye le regroupement de fichiers dans une archive ZIP et précise que les formats déjà compressés, tels que JPEG, peuvent ne diminuer que très peu.

[S7] Microsoft Learn, Compress-Archive. Décrit NoCompression et des limites telles que l’omission des fichiers cachés.

[S8] Microsoft Learn, File Caching. Décrit le cache de fichiers du système et le comportement des écritures différées.

[S9] Microsoft Learn, robocopy. Décrit le parallélisme, les nouvelles tentatives, la journalisation, les informations copiées et les codes de sortie.

[S10] Microsoft Learn, SMB signing overview. Décrit l’objectif de protection et le rôle opérationnel de la signature SMB.

Articles récents partageant les mêmes étiquettes, pour approfondir des sujets proches.

Ce sont des pages de sujets proches de ce thème. À partir de l’article, vous pouvez poursuivre vers les services associés et vers d’autres articles.

Cet article est directement lié aux services suivants. Commencez par une entrée proche de votre situation.

Questions fréquentes

Questions souvent posées lors d’une consultation sur le sujet de cet article.

Pourquoi un dossier de photos se copie-t-il plus lentement alors que la taille est la même ?
Une copie n'est pas seulement un transfert du contenu. Pour chaque fichier, le fichier de destination est créé, ses informations sont gérées, il est fermé, et ainsi de suite. Quand il y a beaucoup de petits fichiers, la part de ce traitement et des attentes augmente. Ce qui compte n'est pas le format photo lui-même, mais le nombre de fichiers et la taille de chacun.
Les petits fichiers se copient-ils encore lentement sur un SSD ou un LAN rapide ?
Oui. Même sur un SSD, le travail de gestion des fichiers demeure, et lors d'une copie vers un NAS ou un dispositif comparable, s'ajoute le temps d'attente du réseau et du traitement de l'autre côté. La vitesse d'un transfert continu de gros fichiers et la vitesse de traitement de nombreux petits fichiers sont deux choses distinctes.
Si les JPEG ne rétrécissent pas dans un ZIP, le regroupement a-t-il encore un intérêt ?
Même lorsque la taille diminue à peine, regrouper en un seul les fichiers à transférer a encore un effet. La création et l'extraction du ZIP prennent toutefois aussi du temps. Pour les usages qui exigent une extraction, comparez le temps total de création, de transfert et d'extraction.
Est-il plus rapide d'envoyer un ZIP sur le NAS puis de l'extraire dans le dossier partagé depuis le PC ?
Avec cette méthode, le PC écrit les petits fichiers extraits vers le NAS, si bien que la création de fichiers à travers le réseau se produit à nouveau. Distinguez cela d'une extraction à l'intérieur du NAS avec une fonction que le NAS lui-même prend en charge, et mesurez en incluant l'extraction.
La copie parallèle de robocopy va-t-elle plus vite à mesure que l'on ajoute des threads ?
Non. Le parallélisme permet de superposer les attentes par fichier, mais il augmente aussi la charge sur le stockage ou le NAS. Comparez dans les mêmes conditions en partant d'un petit nombre de threads, et vérifiez aussi le journal pour les échecs de copie et les fichiers manqués.

Profil de l’auteur

Page de présentation de l’auteur de l’article.

Go Komura

Représentant de KomuraSoft LLC

Axé sur le développement de logiciels Windows, le conseil technique et l’analyse de dysfonctionnements, avec un point fort pour les projets où subsistent des actifs existants et pour les enquêtes sur des pannes dont la cause est difficile à discerner.

Retour au blog