Optimiser les performances

Cette page explique comment optimiser les performances de Google Cloud NetApp Volumes.

Avant de commencer

Avant de modifier vos volumes pour optimiser les performances, consultez les considérations concernant les performances.

Régler les paramètres de volume

Vous pouvez optimiser les performances en ajustant les paramètres de volume suivants:

  • Augmenter la capacité de volume: vous pouvez augmenter la capacité de votre volume de niveau de service Premium, Extreme ou Standard pour améliorer le débit de volume maximal possible. Pour les volumes du niveau de service Flex, augmentez plutôt la capacité des pools de stockage.

  • Passer à un niveau de service supérieur: vous pouvez passer de votre niveau de service Premium au niveau de service Extreme pour améliorer le débit. Nous vous recommandons d'attribuer le volume à un autre pool de stockage avec un autre niveau de service.

L'augmentation de la capacité de volume et la mise à niveau des niveaux de service ne perturbent pas les charges de travail d'E/S en cours sur le volume et n'affectent en rien l'accès au volume.

Ajuster le client

Vous pouvez améliorer les performances en ajustant les paramètres suivants sur le client:

  • Colocaliser les clients: les résultats de latence sont directement affectés par les fonctionnalités et l'emplacement du client. Pour de meilleurs résultats, placez le client dans la même région que le volume ou aussi près que possible. Testez l'impact zonal en testant la latence d'un client dans chaque zone et utilisez la zone présentant la latence la plus faible.

  • Configurer la bande passante réseau Compute Engine: les fonctionnalités réseau des machines virtuelles Compute Engine dépendent du type d'instance utilisé. En règle générale, les instances plus importantes peuvent générer un débit réseau plus élevé. Nous vous recommandons de sélectionner une machine virtuelle cliente avec une capacité de bande passante réseau appropriée, de sélectionner l'interface réseau gVNIC (Google Virtual NIC) et d'activer les performances Tier_1. Pour en savoir plus, consultez la documentation Compute Engine sur la bande passante réseau.

  • Ouverture de plusieurs sessions TCP: si votre application nécessite un débit élevé, vous pouvez finir par saturer la seule session TCP (Transmission Control Protocol) sous-jacente à une session NFS et SMB normale. Dans ce cas, augmentez le nombre de sessions TCP utilisées par votre connexion NFS et SMB.

    Utilisez l'un des onglets suivants pour ajuster votre client en fonction de son type:

    Linux

    Traditionnellement, un client NFS utilise une seule session TCP pour tous les systèmes de fichiers installés NFS qui partagent un point de terminaison de stockage. L'utilisation de l'option d'installation nconnect vous permet d'augmenter le nombre de sessions TCP compatibles jusqu'à 16 maximum.

    Nous vous recommandons de suivre les bonnes pratiques suivantes pour ajuster le type de client Linux afin de profiter pleinement de nconnect:

    • Augmentez le nombre de sessions TCP avec nconnect: chaque session TCP supplémentaire ajoute une file d'attente pour 128 requêtes en attente, ce qui améliore la simultanéité potentielle.

    • Définir le paramètre sunrpc.max_tcp_slot_table_entries : sunrpc.max_tcp_slot_table_entries est un paramètre d'ajustement au niveau de la connexion que vous pouvez modifier pour contrôler les performances. Nous vous recommandons de définir sunrpc.max_tpc_slot_table_enteries sur 128 requêtes ou par connexion,et de ne pas dépasser 10 000 emplacements pour tous les clients NFS d'un même projet se connectant à des NetApp Volumes. Pour définir le paramètre sunrpc.max_tcp_slot_table_entries, ajoutez-le à votre fichier /etc/sysctl.conf et rechargez le fichier de paramètres à l'aide de la commande sysctl -p.

    • Définir la valeur maximale prise en charge par session sur 180: contrairement à NFSv3, les clients NFSv4.1 définissent la relation entre le client et le serveur dans les sessions. Bien que NetApp Volumes accepte jusqu'à 128 requêtes en attente par connexion à l'aide de NFSv3, NFSv4.1 est limité à 180 requêtes en attente par session. Les clients Linux NFSv4.1 utilisent par défaut 64 max_session_slots par session, mais vous pouvez ajuster cette valeur si nécessaire. Nous vous recommandons de définir la valeur maximale prise en charge par session sur 180.

      Pour régler max_session_slots, créez un fichier de configuration sous /etc/modprobe.d. Assurez-vous qu'aucun guillemet (" ") n'apparaît en ligne. Sinon, l'option ne s'applique pas.

      $ echo "options nfs max_session_slots=180" > /etc/modprobe/d/nfsclient/conf
      $ reboot
      
      Use the systool -v -m nfs command to see the current maximum in use
      by the client. For the command to work, at least one NFSv4.1 mount
      must be in place.
      
      $ systool -v -v nfs
      {
      Module = "nfs"
      
      Parameters:
      
      Max_session_slots = "63" <-
      
      }
      

    Le graphique de comparaison nconnect NFS suivant illustre l'impact de l'utilisation de la configuration nconnect sur une charge de travail NFS. Ces informations ont été collectées à l'aide de Fio avec les paramètres suivants:

    • Charge de travail 100% lecture

    • Taille de bloc de 8 Ko sur un seul volume

    • Machine virtuelle n2-standard-32 utilisant l'OS Red Hat 9

    • Ensemble de travail de 6 Tio

    L'utilisation d'une valeur nconnect de 16 a permis d'obtenir des performances cinq fois supérieures à celles obtenues lorsqu'elle n'était pas activée.

    Comparaison de NFS nconnect à l&#39;aide d&#39;une seule machine virtuelle Red Hat 9 avec une taille de bloc de 8 Ko.

    Windows

    Pour les clients Windows, le client peut utiliser SMB Multichannel avec RSS (Receive Side Scaling) pour ouvrir plusieurs connexions TCP. Pour obtenir cette configuration, votre machine virtuelle doit disposer d'une carte réseau allouée compatible avec RSS. Nous vous recommandons de définir RSS sur quatre ou huit valeurs. Toutefois, toute valeur supérieure à un devrait augmenter le débit.

    Le graphique suivant montre l'impact de la configuration RSS sur une charge de travail SMB. Ces informations ont été collectées à l'aide de Fio avec les paramètres suivants:

    • Charge de travail 100% lecture

    • Taille de bloc de 8 Ko sur un seul volume

    • Une seule machine virtuelle n2-standard-32 exécutant un OS Windows 2022

    • Ensemble de travail de 6 Tio

    Huit tâches ont été exécutées, et seule l'option RSS du client SMB a changé entre les exécutions de test. L'utilisation de valeurs RSS de 4, 8 et 16 a doublé les performances par rapport à l'utilisation d'une valeur de 1. Chaque instance RSS a été exécutée neuf fois avec un paramètre numjobs de 8. Le paramètre iodepth a été augmenté de cinq à chaque exécution jusqu'à ce que le débit maximal soit atteint.

    Comparaison du RSS SMB d&#39;une seule VM Windows 2022 avec une taille de bloc de 8 Ko

Étape suivante

Découvrez les pools de stockage.