View a markdown version of this page

Configurez votre charge de travail sur Amazon EC2 pour empêcher l’écriture déchirée - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurez votre charge de travail sur Amazon EC2 pour empêcher l’écriture déchirée

La prévention des écritures déchirées est activée par défaut sur les types d’instances pris en charge avec des volumes pris en charge. Il n'est pas nécessaire de configurer de paramètres supplémentaires pour empêcher l'écriture déchirée.

Note

Les charges de travail qui ne prennent pas en charge la prévention de l'écriture déchirée n'ont aucun impact sur les performances. Il n'est pas nécessaire d'apporter des modifications à ces charges de travail.

Les charges de travail qui prennent en charge la prévention de l'écriture déchirée, mais qui ne sont pas configurées pour l'utiliser, continuent d'utiliser la mémoire tampon à double écriture et ne bénéficient d'aucun avantage en termes de performances.

Pour configurer votre pile logicielle MySQL ou MariaDB afin de désactiver le tampon de double écriture et d’utiliser la prévention des écritures déchirées, procédez comme suit :

  1. Configurez votre volume pour utiliser le système de fichiers ext4 avec l' BigAlloc option et définissez la taille du cluster sur 4 KiB, 8 KiB ou 16 KiB. L'utilisation BigAlloc d'une taille de cluster de 4 KiB, 8 KiB ou 16 KiB garantit que le système de fichiers alloue les fichiers conformément à la limite correspondante.

    $ mkfs.ext4 -O bigalloc -C 4096|8192|16384 device_name
    Note

    Pour MySQL et MariaDB, vous devez utiliser -C 16384 pour faire correspondre la taille de page de la base de données. La définition de la granularité d’allocation sur une valeur autre qu’un multiple de la taille de page peut entraîner des allocations qui peuvent ne pas correspondre aux limites de prévention des écritures déchirées du périphérique de stockage.

    Par exemple :

    $ mkfs.ext4 -O bigalloc -C 16384 /dev/nvme1n1
  2. Configurez InnoDB pour utiliser la méthode de vidage 0_DIRECT et désactivez la double écriture d’InnoDB. Utilisez l’éditeur de texte de votre choix pour ouvrir /etc/my.cnf et mettez à jour les paramètres innodb_flush_method et innodb_doublewrite comme suit :

    innodb_flush_method=O_DIRECT innodb_doublewrite=0
Important

Si vous utilisez Logical Volume Manager (LVM) ou une autre couche de virtualisation du stockage, assurez-vous que les décalages de départ des volumes sont alignés sur des multiples de 16 Kio. Ceci est relatif au stockage NVMe sous-jacent pour tenir compte des en-têtes de métadonnées et des superblocs utilisés par la couche de virtualisation du stockage. Si vous ajoutez un décalage au volume physique de la LVM, cela peut entraîner un défaut d’alignement entre les allocations du système de fichiers et les décalages du périphérique NVMe, ce qui annulerait la prévention des écritures déchirées. Pour plus d’informations, veuillez consulter --dataalignmentoffset dans la page Amazon Linux.