Configura il carico di lavoro su Amazon EC2 per la prevenzione delle distorsioni di scrittura - Amazon Elastic Compute Cloud

Configura il carico di lavoro su Amazon EC2 per la prevenzione delle distorsioni di scrittura

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 MySQL o MariaDB in modo da disabilitare il buffer di doppia scrittura e utilizzare la prevenzione delle distorsioni di scrittura, completa i seguenti passaggi:

  1. Configura il volume per utilizzare il file system ext4 con l'opzione BigAlloc e imposta la dimensione del cluster su 4 KiB, 8 KiB o 16 KiB. L'utilizzo di 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 MySQL e MariaDB, è necessario utilizzare -C 16384 per eguagliare la 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.

    Ad 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 dell'archiviazione, assicurati che gli offset iniziali dei volumi siano allineati su multipli di 16 KiB. Ciò è relativo all'archiviazione NVMe sottostante, che deve tenere conto delle intestazioni dei metadati e dei superblocchi utilizzati dal livello di virtualizzazione dell'archiviazione. L'aggiunta di un offset al volume fisico LVM può causare un disallineamento tra le allocazioni del file system e gli offset del dispositivo NVMe, il che invaliderebbe la prevenzione delle distorsioni di scrittura. Per ulteriori informazioni, consulta la sezione --dataalignmentoffset nella pagina del manuale Linux.