Optimiser le partage et transfert de fichiers sur réseau Windows (SMB)
Le Server Message Block (SMB) est un protocole essentiel pour le partage de fichiers et d’imprimantes sur un réseau Windows. Cependant, les performances du transfert de fichiers via SMB peuvent être affectées par divers facteurs tels que la configuration du réseau, les paramètres du serveur et les limitations matérielles
Voici plusieurs méthodes pour optimiser SMB et améliorer la vitesse et la stabilité du transfert de fichiers.
Ces dernières s’appliquent essentiellement pour Windows 11 et Windows 10.

Comment a le partage de transfert de fichiers sur réseau Windows
Choisir la bonne version de SMB
Windows utilise différentes versions du protocole SMB, et chaque version apporte des améliorations en matière de performances et de sécurité :
- SMB 1.0 : Obsolète et vulnérable (à désactiver).
- SMB 2.0 et 2.1 : Améliorations significatives des performances par rapport à SMB 1.0.
- SMB 3.0, 3.1.1 : Optimisations avancées (compression SMB, multicanal, chiffrement).
Pour vérifier et activation de SMB 3.0 ou 3.1.1 :
- Appuyez sur le raccourci clavier + X ou cliquez avec le bouton droit de la souris sur le menu Démarrer puis sélectionnez “Terminal Windows (admin)“. Plus d’informations : Comment ouvrir Windows Terminal
- Passez la commande suivante :
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
- Si SMB1 est activé, désactivez-le :
Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
- Activez SMB 3.0 si nécessaire :
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Augmenter la compression SMB
Depuis Windows Server 2022 et Windows 11, la compression SMB réduit l’utilisation du réseau en compressant les fichiers transférés.
Pour Activer la compression SMB sur le serveur :
Set-SmbServerConfiguration -EnableCompression $true
Pour vérifier si un partage spécifique utilise la compression :
Get-SmbShare -Name "NomDuPartage" | Select CompressData
Si ce n’est pas activé, vous pouvez l’activer :
Set-SmbShare -Name "NomDuPartage" -CompressData $true
Activer le SMB Multichannel pour améliorer la bande passante
SMB Multichannel permet d’utiliser plusieurs connexions réseau pour accélérer le transfert de fichiers, surtout sur les serveurs avec plusieurs cartes réseau.
Vérifier et activer SMB Multichannel :
Get-SmbServerConfiguration | Select EnableMultiChannel
Set-SmbServerConfiguration -EnableMultiChannel $true
Vous pouvez aussi vérifier si SMB Multichannel fonctionne :
Get-SmbMultichannelConnection
Désactiver la signature SMB
La signature SMB ajoute une empreinte cryptographique (HMAC-MD5 ou AES) à chaque paquet de données échangé. Cela empêche les attaques de type “man-in-the-middle”, où un attaquant pourrait modifier les données en transit.
- Avantages : Sécurise les transferts SMB contre les manipulations et attaques réseau.
- Inconvénients : Introduit une surcharge CPU, car chaque paquet doit être signé et vérifié, ce qui peut ralentir le transfert de fichiers, surtout sur des réseaux rapides.
Désactiver la signature SMB si ce n’est pas nécessaire (elle peut ralentir les transferts) :
Set-SmbServerConfiguration -RequireSecuritySignature $false -Force
Activer le cache côté client pour améliorer les performances :
Set-SmbClientConfiguration -DirectoryCacheLifetime 600
D’autres éléments à prendre en compte :
- Utiliser des disques SSD/NVMe sur le serveur pour des accès plus rapides aux fichiers
- Attribuer des priorités QoS aux transferts SMB sur le réseau pour éviter la congestion
Smb2CreditsMin and Smb2CreditsMax
Les paramètres Smb2CreditsMin et Smb2CreditsMax sont utilisés par le protocole SMB 2.0 et supérieur pour gérer les crédits accordés aux clients SMB afin d’optimiser la bande passante et le débit des transferts de fichiers. Ces crédits définissent le nombre de requêtes simultanées que le client SMB peut envoyer au serveur avant de devoir attendre une réponse.
- Smb2CreditsMin : Définit le nombre minimum de crédits qu’un client SMB peut recevoir du serveur.
- Smb2CreditsMax : Définit le nombre maximum de crédits qu’un client SMB peut obtenir. Plus cette valeur est élevée, plus le client peut envoyer de requêtes en parallèle, améliorant ainsi les performances du transfert de fichiers.
Pour vérifier les valeurs actuelles :
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" -Name Smb2CreditsMin, Smb2CreditsMax
Pour augmenter les valeurs :
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" -Name Smb2CreditsMin -Value 512
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" -Name Smb2CreditsMax -Value 2048
Redémarrez ensuite le service SMB :
Restart-Service LanmanServer
Voici les valeurs recommandées :
Scénario | Smb2CreditsMin | Smb2CreditsMax |
Réseau standard 1 Gbps | 128 | 1024 |
Réseau rapide 10 Gbps | 512 | 2048 |
Réseau très haut débit (25/40 Gbps) | 1024 | 4096 |
Nombre élevé de clients SMB | 256 | 1024 |
AdditionalCriticalWorkerThreads (si beaucoup d’utilisateurs)
Le paramètre AdditionalCriticalWorkerThreads est une clé de registre utilisée dans Windows Server pour optimiser la gestion des threads critiques du système. Il est particulièrement utile pour améliorer la gestion des requêtes SMB, ainsi que les charges de travail réseau et disque sur des serveurs fortement sollicités.
Windows utilise des threads de travail (worker threads) pour exécuter des tâches en arrière-plan, telles que le traitement des requêtes SMB et d’autres services système.
- Par défaut, le nombre de threads critiques est ajusté dynamiquement par le système.
- AdditionalCriticalWorkerThreads permet d’ajouter des threads supplémentaires pour accélérer le traitement des requêtes lorsque le serveur est sous forte charge.
Ne modifiez pas la valeur pour les serveurs peux sollicités.
Si vous constatez un ralentissement des transferts SMB, une augmentation de ce paramètre peut aider. Voici comment l’ajuster :
- Sur votre clavier, appuyez sur les touches + [sug_rclavier]R[/su_rclavier]
- Puis saisissez regedit et OK. Plus de détails : comment accéder au registre Windows
- Accédez à la clé suivante :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Executive
- Si AdditionalCriticalWorkerThreads n’existe pas, créez une nouvelle valeur DWORD (32 bits) nommée AdditionalCriticalWorkerThreads.
- Définissez la valeur en décimal selon les besoins :
- 0 (par défaut) : Windows ajuste dynamiquement les threads.
- 2 à 4 : Serveur avec charge modérée (100-500 utilisateurs SMB).
- 6 à 8 : Serveur sous forte charge ou avec des disques NVMe ultra-rapides.
- 10+ : Pour des environnements très sollicités avec des connexions SMB massives (>1000 utilisateurs).
- Appliquez et redémarrez votre PC
MaxThreadsPerQueue (si beaucoup d’utilisateurs)
Le paramètre MaxThreadsPerQueue est une clé de registre utilisée pour contrôler le nombre maximum de threads de travail que Windows peut allouer à chaque file d’attente de traitement des requêtes. Il est particulièrement pertinent pour les serveurs Windows exécutant SMB, IIS, et d’autres services à forte sollicitation.
L’augmentation de MaxThreadsPerQueue permet de traiter plus de requêtes simultanément, ce qui peut être bénéfique pour les serveurs avec de nombreux clients SMB ou des transferts massifs.
- Accédez à la clé suivante :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Si MaxThreadsPerQueue n’existe pas, créez une nouvelle valeur DWORD (32 bits) nommée MaxThreadsPerQueue.
- Définissez une valeur en décimal selon les besoins :
Scénario | Valeur (décimal) |
Serveur SMB standard (1 Gbps, < 100 utilisateurs) | 32 |
Serveur SMB sous charge modérée (10 Gbps, 100-500 utilisateurs) | 64 |
Serveur haute performance (25 Gbps, 500+ utilisateurs) | 128 |
Serveur très sollicité (>1000 utilisateurs, 40 Gbps+) | 256 |
AsynchronousCredits (si forte charge)
Le paramètre AsynchronousCredits est une clé de registre qui détermine le nombre maximum de requêtes asynchrones SMB qu’un serveur Windows peut traiter simultanément. Ce paramètre est essentiel pour les environnements où de nombreuses requêtes non bloquantes sont envoyées au serveur SMB, comme les applications qui effectuent des lectures/écritures en parallèle ou les transferts de fichiers massifs.
Ce paramètre est particulièrement utile sur les serveurs de fichiers SMB sous forte charge, notamment ceux utilisés pour le partage de fichiers entre applications ou le streaming de données.
- Ouvrir l’Éditeur du Registre (regedit)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Si AsynchronousCredits n’existe pas, créez une nouvelle valeur DWORD (32 bits) nommée AsynchronousCredits.
- Définissez une valeur en décimal en fonction des scénarios suivants :
Scénario | Valeur (décimal) |
Serveur SMB standard (1 Gbps, < 100 utilisateurs) | 64 |
Serveur sous charge modérée (10 Gbps, 100-500 utilisateurs) | 128 |
Serveur haute performance (25 Gbps, 500+ utilisateurs) | 256 |
Serveur très sollicité (>1000 utilisateurs, 40 Gbps+) | 512 |
- Après modification, appliquez les changements en redémarrant le service SMB :
Restart-Service LanmanServer
- Ou redémarrez le serveur :
Restart-Computer
Optimiser le réseau de Windows
Un réseau lent peut limiter la vitesse des transferts SMB. Assurez-vous que :
- Les câbles et switches supportent au moins 1 Gbps (idéalement 10 Gbps pour les gros transferts).
- Les cartes réseau sont bien configurées en mode full-duplex.
- Le serveur SMB et les clients ne sont pas saturés par d’autres tâches.
Enfin pour optimiser votre réseau en Windows, consultez ces guides :
- Optimiser et accélérer les connexions réseau et internet sur Windows 10/11
- Optimiser sa connexion Ethernet
- Optimiser, accélérer et booster sa connexion Wi-Fi
Liens
- Le protocole SMB (Server Message Block) : fonctionnement et versions
- NetBIOS dans Windows (NetBT)
- Kerberos VS NT LAN Manager (NTLM)
- Comment activer/désactiver NetBIOS dans Windows 10/11
- Activer ou désactiver SMB sur Windows
- Comment partager ses fichiers et dossier en réseau entre deux PC sur Windows 10
- Partage de proximité de Windows 11, 10 : partager et transférer des fichiers entre PC
- Optimiser le partage et transfert de fichiers sur réseau Windows (SMB)
- Accéder aux fichiers Windows depuis Ubuntu
- Sauvegarder des fichiers vers un ordinateur du réseau
- Partager la connexion internet sur Windows 10
- Les autorisations NTFS (ACL) sur les fichiers et partage réseau de Windows
- Résoudre les problèmes et erreurs de partages de fichiers sur Windows
- Partage réseau et groupe résidentiel
- Résoudre les problèmes et erreurs de partages de fichiers sur Windows
- Comment utiliser smbclient avec des exemples
- Monter un partage Windows sous Linux avec Samba
L’article Optimiser le partage et transfert de fichiers sur réseau Windows (SMB) est apparu en premier sur malekal.com.