Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’applique à : ✔️ partages de fichiers Azure SMB
Cet article explique comment améliorer les performances des partages de fichiers SMB Azure SSD (Premium), notamment à l’aide de SMB Multichannel et de la mise en cache des métadonnées.
Optimisation des performances
Les conseils suivants peuvent vous aider à optimiser les performances :
- Vérifiez que votre compte de stockage et votre client se trouvent dans la même région Azure pour réduire la latence du réseau.
- Utilisez des applications multithread et répartissez la charge sur plusieurs fichiers.
- Les avantages en matière de performances de SMB Multichannel augmentent avec le nombre de fichiers distribuant la charge.
- Les performances du partage SSD sont liées par la taille de partage provisionnée, y compris les E/S par seconde et le débit, ainsi que par des limites de fichiers uniques. Pour plus d’informations, consultez la compréhension du modèle d’approvisionnement v1.
- Les performances maximales d’un seul client de machine virtuelle sont toujours liées aux limites de machine virtuelle. Par exemple, Standard_D32s_v3 prend en charge une bande passante maximale d’environ 1,86 Gio/s. La sortie de la machine virtuelle (écritures dans le stockage) est limitée, mais l’entrée (lecture à partir du stockage) n’est pas. Les performances des partages de fichiers sont soumises aux limites réseau de la machine, aux processeurs, à la bande passante réseau disponible dans le stockage interne, aux tailles d’E/S, au parallélisme et à d’autres facteurs.
- Le test initial est généralement un échauffement. Ignorez les résultats et répétez le test.
- Si les performances sont limitées par un seul client et qu’une charge de travail est toujours inférieure aux limites de partage approvisionnées, vous pouvez obtenir des performances plus élevées en répartissant la charge sur plusieurs clients.
Relation entre les IOPS, le débit et les tailles d’E/S
Débit = taille d’E/S * IOPS
Les tailles d’E/S supérieures entraînent un débit plus élevé et présentent des latences plus élevées, ce qui entraîne un nombre inférieur d’E/S par seconde nettes. Les tailles d’E/S plus petites entraînent des E/S par seconde plus élevées, mais entraînent un débit net et des latences inférieurs. Pour plus d’informations, consultez Comprendre les performances d’Azure Files.
SMB Multichannel
SMB Multichannel permet à un client SMB d’établir plusieurs connexions réseau à un partage de fichiers SMB, améliorant le débit et la résilience. Azure Files prend en charge SMB Multichannel sur les partages de fichiers SSD pour les clients SMB Windows et Linux. Pour connaître les versions de système d’exploitation Linux prises en charge et la configuration détaillée, consultez la section Linux SMB Multichannel.
Prise en charge SMB Multichannel sous Linux
Azure Files prend en charge SMB Multichannel avec des clients SMB Linux natifs sur les distributions suivantes :
- Ubuntu 24.04 AKS : 6.8.0-1042
- Machines virtuelles Ubuntu 24.04 : 6.14.0-1017
- Machines virtuelles Ubuntu 22.04 : 6.8.0-1044
- AzLinux 3.0 (machines virtuelles et AKS) : 6.6.106.1
- RHEL 9.7 : 5.14.0-611.5.1.el9_7
- RHEL 10.1 : 6.12.0-124.8.1.el10_1
Ces clients doivent exécuter la pile de noyau et les utilitaires CIFS appropriés qui prennent en charge multicanal. La prise en charge de SMB Multichannel sur Linux permet une mise à l’échelle des performances similaire à Windows en établissant plusieurs connexions TCP parallèles au même point de terminaison de partage de fichiers.
Prerequisites
Voici les conditions préalables à l’utilisation de SMB Multichannel avec Linux.
- Noyau avec la prise en charge SMB multichannel activée (généralement 6.8+ et les versions ultérieures avec les indicateurs de montage max_channels=4)
- SMB 3.1.1
- Port 445/TCP ouvert entre le client et le point de terminaison Azure Files
- Vérifier que la mise à l’échelle côté réception côté client (RSS) est activée pour la prise en charge de plusieurs files d’attente
Exemple de commande de montage
Voici un exemple de commande de montage pour utiliser SMB Multichannel avec Linux.
mount -t cifs //<storageaccount>.file.core.windows.net/<share> /mnt/azfiles \
-o vers=3.1.1,username=<account>,password=<key>,dir_mode=0777,file_mode=0777, \
multiuser,serverino,actimeo=30,max_channels=4
Avantages
SMB Multichannel permet aux clients d’utiliser plusieurs connexions réseau qui améliorent les performances tout en réduisant le coût de possession. L'amélioration des performances est obtenue grâce à l'agrégation de bande passante sur plusieurs cartes réseau et à l'utilisation de la mise à l’échelle côté réception (RSS) pour les cartes réseau, afin de distribuer la charge d’E/S sur plusieurs processeurs.
- Débit accru : plusieurs connexions permettent le transfert de données sur plusieurs chemins d’accès en parallèle, ce qui offre des avantages considérables aux charges de travail qui utilisent des tailles de fichiers plus grandes avec des tailles d’E/S supérieures et nécessitent un débit élevé à partir d’une seule machine virtuelle ou d’un plus petit ensemble de machines virtuelles. Certaines de ces charges de travail incluent des supports multimédia et de divertissement pour la création ou le transcodage de contenu, la génomique et l’analyse des risques de services financiers.
- IOPS plus élevés : la capacité RSS de la carte réseau permet une répartition de charge efficace entre plusieurs processeurs avec plusieurs connexions. Cela permet d’atteindre une capacité IOPS plus élevée et une utilisation efficace des processeurs des machines virtuelles. Cela est utile pour les charges de travail qui ont de petites tailles d’E/S, telles que les applications de base de données.
- Tolérance de panne réseau : plusieurs connexions atténuent le risque d’interruption, car les clients ne s’appuient plus sur une connexion individuelle.
- Configuration automatique : lorsque SMB Multichannel est activé sur les clients et les comptes de stockage, il permet la découverte dynamique des connexions existantes et peut créer des chemins de connexion supplémentaires si nécessaire.
- Optimisation des coûts : les charges de travail peuvent obtenir une mise à l’échelle plus élevée à partir d’une seule machine virtuelle ou d’un petit ensemble de machines virtuelles, tout en se connectant à des partages de fichiers SSD. Cela peut réduire le coût total de possession en réduisant le nombre de machines virtuelles nécessaires à l’exécution et à la gestion d’une charge de travail.
- Mise à l’échelle des performances des clients Linux : les clients SMB Linux peuvent désormais tirer parti de plusieurs canaux pour augmenter le débit et les IOPS similaires à Windows.
- Cohérence multiplateforme : permet aux environnements hybrides avec des clients Windows et Linux d’obtenir des performances optimales.
- Résilience : plusieurs canaux améliorent la tolérance de panne sur la mise en réseau hétérogène.
Pour plus d’informations sur SMB Multichannel, consultez la documentation Windows.
Cette fonctionnalité offre de meilleures performances pour les applications multithread, mais elle n’aide généralement pas les applications à thread unique. Pour plus d’informations, consultez la section Comparaison des performances .
Limites
SMB Multichannel pour les partages de fichiers Azure présente actuellement les restrictions suivantes :
- Disponible uniquement pour les partages de fichiers SSD. Non disponible pour les partages de fichiers Azure HDD.
- Uniquement pris en charge sur les clients utilisant SMB 3.1.1. Vérifiez que les systèmes d’exploitation clients SMB sont corrigés aux niveaux recommandés.
- Le nombre maximal de canaux est de quatre. Pour plus d’informations, voir ici.
Configuration de Windows
SMB Multichannel fonctionne uniquement lorsque la fonctionnalité est activée côté client (votre client) et côté service (votre compte de stockage Azure).
Sur les clients Windows, SMB Multichannel est activé par défaut. Vous pouvez vérifier votre configuration en exécutant la commande PowerShell suivante :
Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel
Si SMB Multichannel n’est pas activé sur votre compte de stockage Azure, consultez l’état SMB Multichannel.
Désactiver SMB Multichannel
Dans la plupart des scénarios, en particulier les charges de travail multithread, les clients observent des performances améliorées avec SMB Multichannel. Toutefois, pour certains scénarios spécifiques tels que les charges de travail à thread unique ou à des fins de test, vous pouvez désactiver le protocole SMB Multichannel. Pour plus d’informations, consultez la comparaison des performances et l’état SMB Multichannel .
Vérifier que SMB Multichannel est configuré correctement
- Créez un partage de fichiers SSD ou utilisez un partage de fichiers SSD existant.
- Vérifiez que votre client prend en charge SMB Multichannel (une ou plusieurs cartes réseau ont une mise à l’échelle côté réception activée). Pour plus d’informations, reportez-vous à la documentation Windows .
- Montez un partage de fichiers sur votre client.
- Générez une charge avec votre application. Un outil de copie tel que robocopy/MT ou n’importe quel outil de performances tel que Diskspd pour lire/écrire des fichiers, peut générer une charge.
- Ouvrez PowerShell en tant qu’administrateur et utilisez la commande suivante :
Get-SmbMultichannelConnection |fl - Recherchez les propriétés MaxChannels et CurrentChannels .
Comparaison entre les performances
Il existe deux catégories de modèles de charge de travail en lecture/écriture : monothread et multithread. La plupart des charges de travail utilisent plusieurs fichiers, mais il peut y avoir des cas d’usage spécifiques où la charge de travail fonctionne avec un fichier unique dans un partage. Cette section décrit les différents cas d’utilisation et l’impact sur les performances de chacun d’eux. En général, la plupart des charges de travail sont multithreadées et distribuent la charge de travail sur plusieurs fichiers, ce qui devrait leur permettre de constater des améliorations significatives des performances avec SMB Multichannel.
- Multithread/plusieurs fichiers : selon le modèle de charge de travail, vous devriez constater une amélioration significative des performances des E/S en lecture et écriture sur plusieurs canaux. Les gains de performance varient d’un intervalle de 2 à 4 fois en termes d’IOPS, de débit et de latence. Pour cette catégorie, SMB Multichannel doit être activé pour obtenir des performances optimales.
- Multithread/fichier unique : Pour la plupart des cas d’usage de cette catégorie, les charges de travail bénéficient de l’activation de SMB Multichannel, en particulier si la charge de travail a une taille moyenne d’E/S > ~16k. Quelques exemples de scénarios qui tirent parti de SMB Multichannel sont la sauvegarde ou la récupération d’un seul fichier volumineux. Une exception dans laquelle vous souhaiterez peut-être désactiver SMB Multichannel est si votre charge est lourde en petites E/S. Dans ce cas, vous pouvez observer une légère perte de performances d’environ 10%. Selon le cas d’usage, envisagez la répartition de la charge entre plusieurs fichiers ou désactivez la fonctionnalité.
- Fichiers monofil/multiples ou fichier unique : Pour la plupart des charges de travail à fil unique, les avantages de performance sont minimes en raison d’un manque de parallélisme. En règle générale, il existe une légère dégradation des performances de 10% si SMB Multichannel est activé. Dans ce cas, il est idéal de désactiver SMB Multichannel, à une exception près. Si la charge de travail à thread unique peut répartir la charge entre plusieurs fichiers et utilise une taille d’E/S moyenne plus élevée (supérieure à 16 Kio), il devrait y avoir de légers avantages en matière de performances par rapport au protocole SMB Multichannel.
Configuration de test de performance
Pour les graphiques de cet article, la configuration suivante a été utilisée : une seule machine virtuelle standard D32s v3 avec une seule carte réseau compatible RSS avec quatre canaux. Le chargement a été généré à l’aide de diskspd.exe, en multithread avec une profondeur d’E/S de 10 et des E/S aléatoires de différentes tailles d’E/S.
Fichiers multithread/multiples avec SMB Multichannel
Le chargement a été généré pour 10 fichiers avec différentes tailles d’e/s. Les résultats des tests de mise à l’échelle ont montré des améliorations significatives dans les résultats des tests d’IOPS et de débit avec SMB Multichannel activé. Les diagrammes suivants décrivent les résultats :
- Sur une seule carte réseau, pour les lectures, une augmentation des performances de 2 à 3 fois a été observée et, pour les écritures, des augmentations de 3 à 4 fois en termes d’IOPS et de débit.
- SMB Multichannel a permis aux IOPS et au débit d’atteindre les limites de la machine virtuelle avec une seule carte réseau et la limite de quatre canaux.
- Étant donné que la sortie (ou les lectures au stockage) n’est pas mesurée, le débit de lecture a pu dépasser la limite publiée de la machine virtuelle d’environ 1,86 Gio/s. Le test atteint plus de 2,7 Gio/s. L’entrée (ou les écritures dans le stockage) est toujours soumise aux limites de machine virtuelle.
- La répartition de la charge sur plusieurs fichiers permet des améliorations substantielles.
Voici un exemple de commande utilisée dans ce test :
diskspd.exe -W300 -C5 -r -w100 -b4k -t8 -o8 -Sh -d60 -L -c2G -Z1G z:\write0.dat z:\write1.dat z:\write2.dat z:\write3.dat z:\write4.dat z:\write5.dat z:\write6.dat z:\write7.dat z:\write8.dat z:\write9.dat .
Charges de travail d’un fichier multithread/unique avec SMB Multichannel
La charge a été généré par rapport à un seul fichier de 128 Gio. Avec SMB Multichannel activé, le test de montée en charge avec plusieurs threads/fichiers uniques a montré des améliorations dans la plupart des cas. Les diagrammes suivants décrivent les résultats :
- Sur une seule carte réseau avec une taille d’E/S moyenne supérieure (supérieure à 16 KiB), il y a eu des améliorations significatives dans les lectures et les écritures.
- Pour des tailles d’E/S plus petites, il y a eu un léger impact d’environ 10% sur les performances lorsque SMB Multichannel est activé. Cela peut être atténué en répartissant la charge sur plusieurs fichiers ou en désactivant la fonctionnalité.
- Les performances sont toujours liées par des limites de fichiers uniques.
Mise en cache des métadonnées pour les partages de fichiers SSD
La mise en cache des métadonnées est une amélioration pour les partages de fichiers Azure SSD qui réduit la latence des métadonnées et augmente les limites d’échelle des métadonnées. La fonctionnalité augmente la cohérence de la latence et les IOPS disponibles, et augmente le débit réseau.
Cette fonctionnalité améliore les performances des API de métadonnées suivantes. Les clients Windows et Linux peuvent l’utiliser :
- Limites de mise à l’échelle des métadonnées augmentées
- Augmenter la cohérence de la latence, les IOPS disponibles et augmenter le débit réseau
Cette fonctionnalité améliore les API de métadonnées suivantes et peut être utilisée à partir des clients Windows et Linux :
- Créer
- Ouvert
- Clôture
- Supprimer
Actuellement, la fonctionnalité est disponible uniquement pour les partages de fichiers SSD. Il n’existe aucun coût supplémentaire associé à l’utilisation de cette fonctionnalité. Vous pouvez également vous inscrire pour augmenter les limites des descripteurs de fichiers des partages de fichiers SSD (préversion).
S’inscrire à la fonctionnalité de mise en cache des métadonnées
Pour commencer, inscrivez-vous à la fonctionnalité à l’aide du portail Azure ou d’Azure PowerShell.
- Connectez-vous au portail Azure.
- Recherchez et sélectionnez Fonctionnalités en préversion.
- Sélectionnez le filtre Type et sélectionnez Microsoft.Storage.
- Sélectionnez Cache de métadonnées Azure Premium Files , puis Inscrivez-vous.
Important
- Bien que répertoriés sous Fonctionnalités en préversion, nous respectons les contrats SLA en disponibilité générale et en ferons bientôt la valeur par défaut pour tous les comptes, en supprimant la nécessité de l’inscription.
- Une fois l’AFEC inscrit, veuillez contacter azfilespreview@microsoft.com pour obtenir d’autres instructions.
Améliorations des performances avec la mise en cache des métadonnées
La plupart des charges de travail ou des modèles d’utilisation qui contiennent des métadonnées peuvent tirer parti de la mise en cache des métadonnées. Pour déterminer si votre charge de travail contient des métadonnées, vous pouvez utiliser Azure Monitor pour fractionner les transactions par dimension d’API.
Les charges de travail et les modèles d’utilisation volumineux de métadonnées classiques sont les suivants :
- Services web/app
- Tâches DevOps
- Tâches d’indexation/de traitement par lots
- Bureaux virtuels avec des répertoires de base ou d’autres charges de travail qui interagissent principalement avec de nombreux petits fichiers, répertoires ou descripteurs
Les diagrammes suivants décrivent les résultats potentiels.
Réduction de la latence des métadonnées
En mettant en cache des chemins de fichiers et de répertoires pour les recherches futures, la mise en cache des métadonnées peut réduire la latence sur les fichiers et répertoires fréquemment consultés de 30 % ou plus pour les charges de travail lourdes de métadonnées à grande échelle.
Augmentation des IOPS disponibles
La mise en cache des métadonnées peut augmenter les IOPS disponibles de plus de 60 % pour les charges de travail lourdes de métadonnées à grande échelle.
Augmentation du débit réseau
La mise en cache des métadonnées peut augmenter le débit réseau de plus de 60% pour les charges de travail lourdes de métadonnées à grande échelle.
S’inscrire à des limites de handle de fichier accrues (préversion)
Pour augmenter le nombre maximal de handles simultanés par fichier et répertoire pour les partages de fichiers SMB SSD de 2 000 à 10 000, inscrivez-vous à la fonctionnalité en préversion à l’aide du portail Azure ou d’Azure PowerShell. Si vous avez des questions, e-mail azfilespreview@microsoft.com.
- Connectez-vous au portail Azure.
- Recherchez et sélectionnez Fonctionnalités en préversion.
- Sélectionnez le filtre Type et sélectionnez Microsoft.Storage.
- Sélectionnez Azure Premium Files Augmentation du nombre maximal de handles ouverts , puis sélectionnez Enregistrer.
Étapes suivantes
- Vérifier l’état de SMB Multichannel
- Consultez la documentation Windows pour SMB Multichannel