Partager via


Vitesse de transfert des fichiers SMB lente

Server Message Block (SMB) est la fonctionnalité et le protocole du système de fichiers réseau Windows par défaut. Les vitesses de transfert de fichiers réseau sont affectées par plusieurs facteurs système et réseau. Cet article fournit des étapes pour résoudre les problèmes courants de performances de transfert de fichiers à l’aide de SMB.

Transfert lent

Note

La signature SMB et le chiffrement SMB sont connus pour ralentir les transferts SMB. La quantité de perte de performances dépend grandement des fonctionnalités du matériel impliqué. Les principaux facteurs sont le nombre et la vitesse du cœur du processeur, ainsi que le temps processeur dédié à d’autres charges de travail.

La signature SMB est requise par défaut dans Windows 11, version 24H2 (préversion) et Windows Server 2025 (préversion). Nous vous déconseillons de désactiver les exigences de signature du client et du serveur SMB, car elles fournissent une protection significative contre l’usurpation, la falsification et les attaques de relais.

Important

Windows 11, version 24H2 et Windows Server 2025 sont en préversion. Certaines informations portent sur un produit en préversion susceptible d’être substantiellement modifié avant sa publication. Microsoft ne donne aucune garantie, expresse ou implicite, concernant les informations fournies ici.

Les étapes suivantes peuvent être utilisées pour analyser, résoudre et résoudre les problèmes courants liés aux transferts SMB lents.

  • Utilisez robocopy à partir de la ligne de commande (invite de commandes ou PowerShell).

    • Explorateur de fichiers (gestionnaire de fichiers Windows) effectue des copies à thread unique et utilise des transferts d’entrée/sortie mis en mémoire tampon (E/S).
    • Robocopy est optimisé pour les administrateurs informatiques afin de créer des tâches de copie de fichiers locaux et distants hautes performances.
    • Explorateur de fichiers est pratique pour une utilisation de base, mais n’a pas les optimisations des performances de robocopy dont certaines tâches nécessitent.
  • Essayez une copie d’E/S nonbuffer pour les fichiers de plus de 1 Go à l’aide de la robocopy /J commande à partir de la ligne de commande.

  • Activez et utilisez la compression SMB.

    • Cela réduit considérablement le temps de transfert et l’utilisation de la bande passante pour les fichiers volumineux contenant des espaces blancs importants, tels que les disques de machine virtuelle, .isoet .dmp.
    • Les données non compressibles, telles que les fichiers d’archive (.zip, .7zet .rar), .mp4 les vidéos et .mp3 les fichiers ne voient pas d’améliorations significatives des performances avec la compression SMB.
    • La compression SMB est disponible à partir de Windows 11 et Windows Server 2022.
  • Les vitesses SMB peuvent être limitées par les performances de stockage.

    • Vérifiez que le stockage de stockage a les caractéristiques de performances requises et disponibles pour répondre au débit réseau souhaité.

    • Les vitesses de performances de stockage à réseau réelles approximatives sur SMB sont les suivantes :

      • 110 Mo/s de débit de stockage soutenu par 1 Gbit/s de bande passante réseau.
      • 1,1 Go/s de débit de stockage soutenu par 10 Gbits/s de bande passante réseau.
      • 11 Go/s de débit de stockage soutenu par 100 Gbits/s de bande passante réseau.
      • Ces nombres supposent qu’il n’y a pas d’autres goulots d’étranglement sur le système, tels que l’épuisement du processeur ou de la mémoire, et qu’il n’y a pas d’erreurs réseau.
      • Notez que les performances de stockage maximales sont souvent beaucoup plus élevées que les performances de stockage soutenues et que la plupart des mesures de stockage publiées sont des performances optimales.
  • SMB Direct (SMB over Remote Direct Memory Access (RDMA)) peut être nécessaire pour atteindre certaines vitesses de transfert réseau, ou atteindre des vitesses élevées sans provoquer une utilisation élevée du processeur.

  • Les copies de fichiers démarrent rapidement, puis ralentissent.

    • Une modification de la vitesse de copie peut se produire lorsque la copie initiale est mise en cache par stockage ou mise en mémoire tampon dans la mémoire système, puis que le cache atteint la capacité.

    • Les données sont ensuite validées directement sur le disque (écriture directe) une fois que les mémoires tampons de mémoire et les caches de stockage sont épuisés, ce qui limite les performances aux supports de stockage limités en écriture.

    • Utilisez RAMMap de Microsoft SysInternals pour déterminer si l’utilisation des fichiers mappés en mémoire cesse de croître.

      • Cela indique que la mémoire tampon est épuisée.
      • RAMMap ne s’actualise pas automatiquement. Utilisez F5 sur votre clavier ou actualisation de fichier>pour mettre à jour l’utilisation de la mémoire.
    • Utilisez des compteurs de moniteur de performances de stockage pour déterminer si les performances de stockage se dégradent proportionnellement au débit réseau. Pour plus d’informations, consultez Réglage des performances pour les serveurs de fichiers SMB.

    • Ajustez le seuil de page incorrect du fichier distant si les performances se dégradent environ toutes les 5 Go dans Windows Server 2016 et versions ultérieures.

  • Les transferts sont lents uniquement lors de l’utilisation de certaines technologies ou d’un serveur de fichiers avec montée en puissance parallèle (SOFS).

    • Certaines technologies, généralement de sauvegarde ou basées sur une base de données, nécessitent une écriture sur disque pour maintenir l’intégrité des données.
    • Windows SOFS nécessite une écriture directe, comme les sauvegardes SQL.
    • L’écriture sur disque nécessite que l’opération de stockage contourne tous les caches de stockage et mémoires tampons et qu’elle soit validée directement sur le support de stockage pour que l’opération se termine.
    • Dans ce cas, un système de stockage qui ne dispose pas de performances d’écriture par écriture élevée ne peut pas fournir de transferts SMB performants.
  • Recherchez des signes d’erreurs réseau. Les problèmes réseau courants, tels que la perte de paquets, entraînent une limitation au niveau du réseau par l’algorithme de congestion TCP (Transmission Control Protocol).

  • Déterminez la surcharge de performances des logiciels anti-programmes malveillants en testant temporairement les performances de transfert SMB avec l’analyse des fichiers désactivée et les pilotes de filtre réseau et système de fichiers déchargés.

  • Pour SMB3, vérifiez que SMB Multichannel est activé et fonctionne.

  • Vérifiez que les technologies de déchargement réseau sont activées.

    • Les performances SMB sont étroitement liées aux performances réseau.
    • Les technologies de déchargement réseau, telles que la mise à l’échelle côté réception (RSS), le déchargement d’envoi volumineux (LSO), le fusion de segment de réception (RSC) et les sommes de contrôle TCP/UDP, sont conçues pour améliorer le débit réseau tout en réduisant l’utilisation du processeur de la pile réseau.
    • Ne désactivez pas les déchargements réseau.
  • Sur le client SMB, vérifiez que la grande unité de transmission maximale (MTU) n’est pas désactivée et que la limitation de bande passante n’est pas activée dans SMB en exécutant l’applet de commande PowerShell suivante :

    Set-SmbClientConfiguration -EnableBandwidthThrottling 0 -EnableLargeMtu 1
    
  • Suivez le guide du paramétrage des performances de Windows Server pour les serveurs de fichiers SMB pour paramétrer le sous-système du serveur SMB.

Transfert lent lors de l’utilisation de petits fichiers

Les vitesses de copie lentes et le faible débit réseau sont attendus lors du transfert d’un grand nombre de petits fichiers sur le réseau à l’aide de Explorateur de fichiers et d’autres outils de copie à thread unique. « Un grand nombre de petits fichiers » est défini comme des centaines, des milliers et même des millions de fichiers qui sont inférieurs à 1 Mo.

Détails du problème

La création de fichiers est une « opération coûteuse » en termes de performances du point de vue du protocole réseau (SMB) et du système de fichiers. SMB doit effectuer plusieurs opérations de protocole pour créer un fichier avant que toutes les données puissent être transmises. Le système de fichiers lui-même a une pénalité de performances supplémentaire lors de la création de fichiers.

Les copies de petits fichiers atteignent cette pénalité à plusieurs reprises. La taille des données par fichier n’est pas suffisante pour que le réseau place suffisamment de données en vol pour maintenir des vitesses réseau élevées lors de l’utilisation d’une copie à thread unique, car plus de temps est consacré à la création des fichiers que le transfert des données de fichier.

Ce problème se produit parce que la transmission des données doit être arrêtée pour effectuer la création du fichier après seulement une poignée de charges utiles de données transmises. Toutefois, un seul fichier volumineux a une pénalité de création de fichier unique, puis transmet suffisamment de données pour atteindre les vitesses de réseau maximales.

Détails techniques

La latence réseau, les commandes SMB create et les programmes antivirus contribuent à un transfert plus lent des petits fichiers. Voici des détails supplémentaires sur ce problème :

  • SMB émet create des commandes pour demander que le fichier soit créé.

    • Chaque commande create génère une activité sur le système de fichiers.
    • Une fois les données écrites, le fichier est fermé.
  • Le processus souffre de la latence du réseau, du protocole (SMB) et du système de fichiers.

    • Cette latence se produit, car la requête du système de fichiers est d’abord traduite en commandes SMB, transmises sur le réseau et retournées en commande de système de fichiers, et seulement le travail réel du système de fichiers est effectué.
    • Le processus est inversé une fois l’opération de stockage terminée, et seul le client SMB reçoit une réponse et peut poursuivre l’opération suivante.
  • En outre, endpoint protection (antivirus) analyse souvent les paquets réseau et les opérations du système de fichiers.

    • Cela ajoute généralement une faible latence au processus.
    • Dans les petits scénarios de fichiers, les actions antivirus sont répétées pour chaque fichier transféré.
  • Par conséquent, les vitesses de débit réseau peuvent être inférieures à 1 Mo/s lors de l’utilisation d’un outil de copie de fichiers à thread unique.

Accélérer les petites copies de fichiers

  • Utiliser robocopy avec le paramètre et rediriger la /MT sortie à l’aide /logde .

    • Robocopy est intégré à Windows et le /MT paramètre active des copies de fichiers multithread.
    • Les copies multithread permettent d’exécuter de nombreux transferts de données en parallèle.
      • Pendant la création d’un ou deux fichiers, plusieurs fichiers peuvent être transférés.
      • Cela augmente la quantité de données réseau en cours et réduit les pauses dans le flux de données réseau.
    • L’écriture dans la console est une autre opération fastidieuse, ce qui permet de rediriger la sortie vers un fichier journal accélère le travail de transfert.
    • Par défaut, /MT copie huit fichiers à la fois. Il prend en charge jusqu’à 128 copies à la fois.
    • Un trop grand nombre de threads peut nuire aux performances. Deux threads par cœur d’UC sont généralement sécurisés, mais les tests sont vivement recommandés pour trouver le nombre de performances optimal.
    • Pour plus d’informations sur l’utilisation, consultez robocopy.
  • Utiliser AzCopy lors du déplacement de données vers/depuis Azure.

    • AzCopy dispose de fonctionnalités de concurrence (multithreading) et de plusieurs optimisations de performances.
  • Utilisez la compression de fichiers.

    • Compressez les petits fichiers dans un fichier d’archive volumineux (.zip, .7z, .rar, .taret .gz).
    • Copiez le fichier d’archivage.
    • Extrayez les fichiers sur le système de destination. N’extrayez pas les fichiers à distance.
    • Cela peut ou ne pas être plus rapide, en fonction de la compression et de la décompression des deux systèmes.
    • Utilisez une compression rapide ou aucun archivage de compression pour réduire les temps de compression et de décompression.
  • Utilisez un outil de copie de fichiers tiers (non Microsoft) approuvé qui prend en charge la copie de fichiers multithread.

Ouverture lente des documents Office

Les documents Office peuvent s’ouvrir lentement, ce qui se produit généralement sur une connexion WAN. La façon dont les applications Office (en particulier Microsoft Excel) accèdent aux données et les lisent est généralement à l’origine de ce qui ralentit l’ouverture des documents.

Vous avez intérêt à vérifier que les binaires Office et SMB sont à jour, puis à faire un test en désactivant le bail sur le serveur SMB. Pour vérifier que les deux conditions ont été résolues, effectuez les étapes suivantes :

  1. Exécutez l’applet de commande PowerShell suivante dans Windows 8 et Windows Server 2012 ou versions ultérieures de Windows :

    Set-SmbServerConfiguration -EnableLeasing $false
    
  2. Cela fonctionne immédiatement sur une nouvelle connexion clientE SMB. Il n’est pas nécessaire de redémarrer le serveur SMB ou les ordinateurs clients.

Pour éviter ce problème, vous pouvez aussi répliquer le fichier sur un serveur de fichiers local. Pour plus d’informations, consultez L’enregistrement de documents Office sur un serveur réseau est lent lors de l’utilisation d’EFS.