Optimiser les performances et les fonctionnalités

Effectué

Après avoir intégré les meilleures pratiques de dimensionnement, de mise en réseau et de gestion dans votre plan de déploiement de machine virtuelle Azure Linux, envisagez les performances et les fonctionnalités. Cette unité explique comment optimiser les ressources réseau et de stockage pour les déploiements de machines virtuelles Azure Linux.

Optimiser les performances réseau

Pour optimiser les performances du réseau pour les machines virtuelles Azure Linux, vous pouvez utiliser des optimisations de réseau basées sur le noyau et implémenter une mise en réseau accélérée si elle est disponible.

Optimisations réseau basées sur le noyau

Les noyaux Linux mis en production après septembre 2017 incluent des options d'optimisation du réseau qui permettent aux machines virtuelles Azure Linux d'atteindre un débit réseau plus élevé. Vous pouvez obtenir des performances de débit significatives en utilisant le dernier noyau Linux.

Les machines virtuelles Azure nouvelles et existantes peuvent également bénéficier de l'installation de la version la plus récente de Linux Integration Services (LIS). L'optimisation du débit est intégrée à LIS à partir de la version 4.2, et les versions ultérieures contiennent d'autres améliorations.

Mise en réseau accélérée

Vous pouvez implémenter la mise en réseau accélérée pour réduire la latence, améliorer le débit et limiter l'utilisation du processeur. Les performances réseau accélérées utilisent les capacités de virtualisation d'E/S à racine unique (SR-IOV) du matériel hôte pour améliorer les performances du réseau.

Sans mise en réseau accélérée, tout le trafic réseau en direction et en provenance de la machine virtuelle doit transiter par l’hôte et le commutateur virtuel. Grâce aux performances réseau accélérées, le trafic réseau qui arrive à l'interface réseau de la machine virtuelle est acheminé directement vers cette dernière, sans passer par l'hôte.

Les performances réseau accélérées s'appliquent uniquement à la machine virtuelle activée. Pour de meilleurs résultats, activez cette caractéristique sur les machines virtuelles Azure qui sont connectées au même réseau virtuel. Pour les communications entre réseaux virtuels ou dans des scénarios hybrides, cette caractéristique a un impact négligeable sur la latence générale.

Azure prend en charge les performances réseau accélérées pour la plupart des tailles d'instances à usage général et celles optimisées pour le calcul et qui disposent de deux processeurs virtuels ou plus. Les instances de machine virtuelle qui utilisent hyperthreading prennent en charge les performances réseau accélérées sur les instances qui ont quatre processeurs virtuels ou plus.

Optimiser les performances de stockage

Chaque machine virtuelle Azure Linux possède au moins les deux disques virtuels suivants :

  • Le disque du système d'exploitation, désigné par /dev/sda, a une capacité maximale de 4 téraoctets (Tio) pour les disques au format MBR (enregistrement de démarrage principal) ou de 2 TiB pour les disques au format GPT (table de partition GUID). L'image que vous utilisez pour approvisionner la machine virtuelle Azure détermine la taille par défaut.

    Évitez de stocker des données et d'installer des applications sur le disque du système d'exploitation, car il est optimisé pour un démarrage rapide plutôt que pour l'exécution de charges de travail non liées au système d'exploitation.

  • Un disque temporaire étiqueté /dev/sdb et monté sur /mnt fournit un stockage temporaire. La taille et les performances du disque dépendent de la taille de la machine virtuelle. De fait, son objectif principal est de stocker un fichier d'échange.

    • Le disque temporaire sert de stockage à court terme pour les données qui peuvent être abandonnées ou facilement recréées. N'utilisez pas le disque temporaire pour stocker des fichiers qui doivent être conservés lors d'opérations comme le redimensionnement, le redéploiement ou les redémarrages.

    • Pour implémenter la configuration optimale pour un fichier d'échange, utilisez cloud-init pour les images qui le prennent en charge. Utilisez l’agent Linux de machine virtuelle Azure pour les images qui ne prennent pas en charge cloud-init.

Disques de données virtuels

Pour stocker des données et installer des applications, vous pouvez créer des disques virtuels, les attacher à une machine virtuelle Azure et les monter dans le système d'exploitation. Vous pouvez ajouter des disques supplémentaires en fonction de vos besoins en matière de stockage et d'entrée/sortie par seconde (IOPS). Gardez à l’esprit les points suivants :

  • Le nombre maximum de disques que vous pouvez attacher à une machine virtuelle Azure dépend de la taille de la machine virtuelle.
  • Le nombre maximum d'IOPS pris en charge par une machine virtuelle Azure dépend non seulement du débit général de ses disques, mais aussi du débit IOPS maximum de la machine virtuelle, qui est déterminé par la taille de la machine virtuelle. Le débit effectif est la plus faible des deux valeurs.

Pour fournir un stockage pour une machine virtuelle Azure, vous pouvez utiliser des volumes de stockage au niveau du bloc gérés par Azure. Les disques managés par Azure prennent en charge les cinq types de disques suivants pour répondre à des scénarios clients spécifiques :

  • disques Ultra pour les charges de travail à forte intensité d'E/S comme SAP HANA, les bases de données de premier niveau comme SQL et Oracle, et d'autres charges de travail à forte intensité de transactions.
  • Disques SSD Premium v2 pour les charges de travail de production et sensibles aux performances qui nécessitent constamment une faible latence, des E/S par seconde élevées et un débit élevé.
  • Disques SSD Premium pour la production et les charges de travail sensibles aux performances.
  • Standard SSD pour les serveurs web, les applications d'entreprise peu utilisées et les scénarios de développement ou de test.
  • Disques durs standard (HDD) pour les sauvegardes et les données non critiques avec un accès peu fréquent.

Barrières d'écriture pour les disques SSD Premium

Pour obtenir le taux d'IOPS le plus élevé sur les disques SSD Premium dont les caches sont réglés sur ReadOnly ou None, désactivez les barrières d'écriture lors du montage du système de fichiers sous Linux. Ces barrières sont inutiles, car les écritures sur les disques de stockage Premium sont pérennes avec ces paramètres de cache. Si la mise en cache est définie sur Read/Write, maintenez les barrières activées pour garantir la durabilité de l'écriture.

  • Si vous utilisez le système de fichiers reiserFS, désactivez les barrières en utilisant l'option de montage barrier=none.
  • Si vous utilisez ext3/ext4, désactivez les barrières en utilisant l'option de montage barrier=0.
  • Si vous utilisez XFS, désactivez les barrières en utilisant l'option de montage nobarrier.

Algorithme de planification des E/S pour les disques SSD Premium

Le noyau Linux propose deux ensembles de planificateurs d'E/S de disque pour réorganiser les requêtes, l'un pour l'ancien sous-système blk et l'autre pour le nouveau sous-système blk-mq. Pour les disques de stockage Azure Premium, utilisez un planificateur qui transmet les décisions de planification à la plateforme de virtualisation sous-jacente.

  • Pour les noyaux Linux qui utilisent le sous-système blk, choisissez le planificateur noop.
  • Pour les noyaux Linux qui utilisent le sous-système blk-mq, choisissez le planificateur none.

Configurations multidisques

Si vos charges de travail nécessitent trop d’IOPS pour un seul disque, utilisez une configuration RAID (Redondant Array of Independent Disks) logicielle qui combine plusieurs disques. Azure offre la résilience des disques au niveau de la structure de stockage. Vous pouvez donc vous concentrer sur les performances en implémentant une bande RAID-0.

Vous pouvez également installer Logical Volume Manager (LVM) et l'utiliser pour combiner plusieurs disques virtuels en un volume de stockage logique à frange unique. Dans cette configuration, les lectures et les écritures sont réparties sur plusieurs disques contenus dans le groupe de volumes (de type RAID-0). Pour des raisons de performances, vous pouvez agréger vos volumes logiques en franges afin que les lectures et les écritures utilisent tous les disques de données connectés.