Configura il tuo carico di lavoro su Amazon EC2 per prevenire le scritture ripetute - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configura il tuo carico di lavoro su Amazon EC2 per prevenire le scritture ripetute

La prevenzione delle distorsioni di scrittura è abilitata per impostazione predefinita sui tipi di istanze supportati con volumi supportati. Non è necessario abilitare alcuna impostazione aggiuntiva per abilitare la prevenzione delle distorsioni di scrittura sul volume o sull'istanza.

Nota

Non vi è alcun impatto sulle prestazioni dei carichi di lavoro che non supportano la prevenzione delle distorsioni di scrittura. Non è necessario apportare modifiche per questi carichi di lavoro.

I carichi di lavoro che supportano la prevenzione delle distorsioni di scrittura ma non sono configurati per utilizzarla continuano a utilizzare il buffer di doppia scrittura e non ottengono alcun vantaggio in termini di prestazioni.

Per configurare lo stack software My SQL o MariaDB per disabilitare il buffer di doppia scrittura e utilizzare la prevenzione della scrittura torna, completa i seguenti passaggi:

  1. Configura il volume per utilizzare il file system ext4 con l' BigAlloc opzione e imposta la dimensione del cluster su 4 KiB, 8 KiB o 16 KiB. L'utilizzo BigAlloc con una dimensione del cluster di 4 KiB, 8 KiB o 16 KiB garantisce che il file system allochi i file in linea con il rispettivo limite.

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

    Per My SQL e MariaDB, è necessario -C 16384 utilizzare in modo che corrisponda alla dimensione della pagina del database. L'impostazione della granularità di allocazione su un valore diverso da un multiplo della dimensione della pagina può comportare allocazioni che potrebbero non corrispondere ai limiti di prevenzione delle distorsioni di scrittura del dispositivo di archiviazione.

    Per esempio:

    $ mkfs.ext4 -O bigalloc -C 16384 /dev/nvme1n1
  2. Configura InnoDB per l'utilizzo del metodo di svuotamento 0_DIRECT e disattiva la doppia scrittura di InnoDB. Utilizza un editor di testo per aprire /etc/my.cnf e modifica i parametri innodb_flush_method e innodb_doublewrite come segue:

    innodb_flush_method=O_DIRECT innodb_doublewrite=0
Importante

Se utilizzi Logical Volume Manager (LVM) o un altro livello di virtualizzazione dello storage, assicurati che gli offset iniziali dei volumi siano allineati su multipli da 16 KiB. Questo è relativo allo NVMe storage sottostante per tenere conto delle intestazioni dei metadati e dei superblocchi utilizzati dal livello di virtualizzazione dello storage. Se si aggiunge un offset al volume LVM fisico, ciò può causare un disallineamento tra le allocazioni del file system e gli offset del NVMe dispositivo, il che invaliderebbe la prevenzione delle torn write. Per ulteriori informazioni, consulta la sezione --dataalignmentoffset nella pagina del manuale Linux.