Optimiser les performances des volumes Hyperdisk

Une fois que vous avez provisionné vos volumes Google Cloud Hyperdisk, votre application et votre système d'exploitation peuvent nécessiter un réglage des performances pour répondre à vos besoins en performances.

Les sections suivantes décrivent quelques éléments clés qui peuvent être ajustés pour offrir de meilleures performances, et expliquent comment appliquer certains de ces éléments à des types de charges de travail spécifiques.

Pour en savoir plus sur les performances de Google Cloud Hyperdisk, consultez À propos des performances d'Hyperdisk.

Utiliser une profondeur de file d'attente d'E/S élevée

Les volumes Hyperdisk ont une latence plus élevée que les disques associés localement, tels que des disques SSD locaux, car ce sont des appareils connectés au réseau. Ils peuvent fournir des IOPS et un débit très élevés, mais vous devez vous assurer que les requêtes d'E/S effectuées en parallèle sont en nombre suffisant. Le nombre de requêtes d'E/S effectuées en parallèle est appelé profondeur de la file d'attente d'E/S.

Les tableaux suivants indiquent la profondeur de file d'attente d'E/S recommandée pour vous assurer d'atteindre un certain niveau de performances. Les tables utilisent une légère surestimation de la latence typique pour afficher des recommandations prudentes. Dans cet exemple, nous partons du principe que vous utilisez une taille d'E/S de 16 Ko.

IOPS souhaitées Profondeur de la file d'attente
500 1
1 000 2
2 000 4
4 000 8
8 000 16
16 000 32
32 000 64
64 000 128
100 000 200
200 000 400
320 000 640
Débit souhaité (Mo/s) Profondeur de file d'attente
8 1
16 2
32 4
64 8
128 16
256 32
512 64
1 000 128
1 200 153

Vérifier que vous disposez de processeurs disponibles

La lecture et l'écriture sur des volumes Hyperdisk nécessitent des cycles de processeur de votre VM. Si votre instance de VM manque de ressources de processeur, votre application ne pourra pas gérer les taux d'IOPS décrits ci-dessus. Pour atteindre des niveaux fiables et élevés d'IOPS, il est nécessaire de disposer de processeurs disponibles pour traiter les E/S.

Désactiver la protection contre les écritures partielles au niveau de la base de données pour optimiser les écritures

Étant donné que Google Cloud Hyperdisk offre une protection intégrée contre les écritures partielles, vous pouvez désactiver les fonctionnalités de protection au niveau de la base de données pour réduire la surcharge d'E/S et augmenter le débit d'écriture de la base de données jusqu'à 25%. Pour en savoir plus sur cette fonctionnalité, consultez la section Protection contre les écritures partielles sur la page de présentation d'Hyperdisk.

Exigences de configuration de l'environnement

Pour que la protection contre les écritures partielles d'Hyperdisk soit efficace, les écritures de base de données ne doivent pas être fragmentées avant d'atteindre la couche de stockage. Selon votre base de données, vous pouvez y parvenir en utilisant l'une des options de configuration suivantes :

Option 1 : Aligner les calques sur les limites de blocs de 16 Kio (recommandé pour MySQL et PostgreSQL)

Configurez votre système d'exploitation, votre système de fichiers et vos couches logicielles intermédiaires pour préserver la limite de 16 Kio. Lorsque vous utilisez cette option, vous devez conserver cette configuration spécifique :

  • Système de fichiers : utilisez un système de fichiers ext4. Vous devez créer le système de fichiers avec l'option bigalloc et configurer la taille du cluster du système de fichiers sur 16 Kio (16 384 octets) ou sur un multiple de 16 Kio qui est une puissance de deux :

    mkfs.ext4 -O bigalloc -C 16384 /dev/<var>DEVICE_NAME</var>
    

    Remplacez DEVICE_NAME par le nom du périphérique de stockage.

  • Configurations non compatibles : évitez les configurations qui peuvent introduire des écritures fragmentées au-dessus de la couche de stockage par blocs, comme les suivantes :

    • Exécuter des bases de données conteneurisées sur Google Kubernetes Engine ou sur Kubernetes auto-hébergé.
    • Stockage des fichiers de base de données sur un système de fichiers xfs, qui ne prend généralement pas en charge des tailles de bloc suffisantes sur la plupart des distributions Linux.
    • Utiliser des configurations RAID (Redundant Array of Independent Disks) ou des gestionnaires de volumes logiques (LVM) qui suppriment les E/S.
    • Utiliser Hyperdisk avec des caches SSD locaux, y compris lvmcache, dm-cache ou bcache.
    • Utiliser la virtualisation imbriquée pour la VM de base de données.

Option 2 : Utiliser les E/S atomiques de bloc Linux (recommandé pour MariaDB)

Si votre base de données ou votre application sont compatibles avec les E/S atomiques de bloc Linux et accèdent aux fichiers à l'aide d'E/S directes (O_DIRECT), vous pouvez ignorer les règles de configuration listées dans l'option 1 à condition de remplir les conditions suivantes :

  • Option RWF_ATOMIC : l'application doit utiliser l'appel système pwritev2() avec l'option RWF_ATOMIC. Lorsque vous utilisez cet indicateur, le noyau Linux s'assure qu'une opération d'écriture est traitée comme un seul bloc contigu par le périphérique Hyperdisk sous-jacent. Si le noyau ne peut pas garantir l'atomicité, l'appel d'écriture échoue immédiatement pour éviter la corruption des données.
  • Système d'exploitation : doit être Linux Kernel version 6.11 ou ultérieure.
  • Système de fichiers : doit être ext4 ou xfs sur la version de noyau Linux 6.13 ou ultérieure.
  • Accès aux fichiers : l'application doit ouvrir les fichiers de base de données à l'aide d'E/S directes (O_DIRECT).
  • Bases de données compatibles : nous recommandons cette option uniquement pour MariaDB version 11.x ou ultérieure (pour la compatibilité générique avec Linux RWF_ATOMIC). MySQL et PostgreSQL ne sont pas compatibles avec cette fonctionnalité.

Pour obtenir des instructions détaillées sur l'optimisation spécifique aux bases de données, consultez Configurer MySQL sur Compute Engine.

Examiner les métriques de performances Hyperdisk

Vous pouvez examiner les métriques de performances des disques dans Cloud Monitoring, la solution de surveillance intégrée deGoogle Cloud. Vous pouvez utiliser ces métriques pour observer les performances de vos disques et d'autres ressources de VM sous différentes charges de travail d'application.

Pour en savoir plus, consultez la page Examiner les métriques de performances des disques.

Vous pouvez également utiliser la page Observabilité de la console pour afficher les métriques de performances des disques.

Étapes suivantes