

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à.

# Prestazioni dei volumi Amazon EBS
<a name="ebs-performance"></a>

Diversi fattori, tra cui I/O le caratteristiche e la configurazione delle istanze e dei volumi, possono influire sulle prestazioni di Amazon EBS. Se segui le indicazioni nelle nostre pagine dei dettagli dei prodotti Amazon EBS e Amazon EC2, di solito otterrai buone prestazioni. Tuttavia, in alcuni casi potrebbe essere necessario eseguire alcune ottimizzazioni per ottenere le massime prestazioni. Ti consigliamo di eseguire il tuning delle prestazioni con informazioni sul carico di lavoro effettivo, oltre che con il benchmarking, per stabilire la configurazione ottimale. Dopo aver appreso le nozioni di base sull'utilizzo dei volumi EBS, è consigliabile esaminare I/O le prestazioni richieste e le opzioni a disposizione per aumentare le prestazioni di Amazon EBS per soddisfare tali requisiti.

AWS gli aggiornamenti alle prestazioni dei tipi di volume EBS potrebbero non avere effetto immediato sui volumi esistenti. Per vedere le prestazioni complete in un volume precedente, potrebbe essere necessario eseguire un'operazione `ModifyVolume` su di esso. Per ulteriori informazioni, consulta [Modifica un volume Amazon EBS utilizzando le operazioni Elastic Volumes](ebs-modify-volume.md).

**Topics**
+ [Suggerimenti per le prestazioni Amazon EBS](#tips)
+ [Ottimizzazione per Amazon EBS](ebs-optimization.md)
+ [Inizializzazione dei volumi Amazon EBS](initalize-volume.md)
+ [Ponderazione configurabile della larghezza di banda dell'istanza](instance-bandwidth-configuration.md)
+ [I/O Caratteristiche e monitoraggio di Amazon EBS](ebs-io-characteristics.md)
+ [Amazon EBS e configurazione RAID](raid-config.md)
+ [Effettua il benchmark dei volumi Amazon EBS](benchmark_procedures.md)

## Suggerimenti per le prestazioni Amazon EBS
<a name="tips"></a>

Questi suggerimenti presentano best practice per ottenere prestazioni ottimali dai volumi EBS in diversi scenari comuni.

### Utilizzo di istanze ottimizzate per EBS
<a name="optimize"></a>

Nelle istanze che non supportano il throughput ottimizzato per EBS, il traffico di rete può entrare in conflitto con il traffico tra l'istanza e i volumi EBS; nelle istanze ottimizzate per EBS, i due tipi di traffico sono tenuti separati. Alcune configurazioni di istanze ottimizzate per EBS prevedono un costo aggiuntivo (ad esempio C3, R3 e M3), mentre altre configurazioni sono sempre ottimizzate per EBS senza costi aggiuntivi (ad esempio M4, C4, C5 e D2). Per ulteriori informazioni, consulta [Ottimizzazione per Amazon EBS](ebs-optimization.md).

### Configura la larghezza di banda dell'istanza
<a name="icb"></a>

Per i tipi di istanze supportati, puoi configurare la ponderazione della larghezza di banda dell'istanza per aumentare la larghezza di banda di Amazon EBS del 25% utilizzando la ponderazione della larghezza di banda. `ebs-1` Questa funzionalità consente di ottimizzare l'allocazione delle risorse di rete dell'istanza tra EBS e la rete VPC, migliorando potenzialmente le prestazioni EBS per carichi di lavoro a uso intensivo di I/O. Per ulteriori informazioni, consulta [Ponderazione configurabile della larghezza di banda dell'istanza](instance-bandwidth-configuration.md).

### Comprendere come vengono calcolate le prestazioni
<a name="performance_calculation"></a>

Per misurare le prestazioni dei volumi EBS, è importante comprendere come si calcolano e le unità di misura coinvolte. Per ulteriori informazioni, consulta [I/O Caratteristiche e monitoraggio di Amazon EBS](ebs-io-characteristics.md).

### Comprendere il carico di lavoro
<a name="workload_types"></a>

Esiste una relazione tra le prestazioni massime dei volumi EBS, la dimensione e il numero di I/O operazioni e il tempo necessario per il completamento di ciascuna azione. Ognuno di questi fattori (prestazioni, I/O e latenza) influenza gli altri; applicazioni diverse sono più sensibili a uno o a un altro fattore. Per ulteriori informazioni, consulta [Effettua il benchmark dei volumi Amazon EBS](benchmark_procedures.md).

### Fare attenzione al rallentamento delle prestazioni quando si inizializzano i volumi da snapshot
<a name="initialize"></a>

C'è un aumento significativo della latenza quando si accede a ciascun blocco di dati di un nuovo volume EBS creato da uno snapshot. Questo impatto sulle prestazioni può essere evitato utilizzando una delle seguenti opzioni:
+ Accedere a ogni blocco prima di mettere il volume in produzione. Questo processo è chiamato *inizializzazione* (in precedenza pre-riscaldamento). Per ulteriori informazioni, consulta [Inizializza manualmente i volumi dopo la creazione](initalize-volume.md#ebs-initialize).
+ Abilitare il ripristino rapido degli snapshot su uno snapshot per garantire che i volumi EBS creati da esso siano totalmente inizializzati al momento della creazione e garantire istantaneamente le prestazioni fornite. Per ulteriori informazioni, consulta [Ripristino rapido degli snapshot Amazon EBS](ebs-fast-snapshot-restore.md).

### Fattori che possono ridurre le prestazioni HDD
<a name="snapshotting_latency"></a>

Quando crei uno snapshot di un volume HDD ottimizzato per la velocità effettiva (`st1`) o HDD Cold (`sc1`), le prestazioni possono diminuire fino al valore di baseline del volume mentre è in corso la creazione dello snapshot. Questo comportamento è tipico di questi tipi di volume. Altri fattori che possono limitare le prestazioni includono un throughput superiore a quello supportato dall'istanza, la riduzione delle prestazioni riscontrata durante l'inizializzazione dei volumi creati da un'istantanea e una quantità eccessiva di dati piccoli e casuali sul volume. I/O Per ulteriori informazioni su come calcolare il throughput per i volumi HDD, consulta [Tipi di volume Amazon EBS](ebs-volume-types.md).

Le prestazioni possono risentirne anche se l'applicazione non invia abbastanza. I/O requests. This can be monitored by looking at your volume’s queue length and I/O size. The queue length is the number of pending I/O requests from your application to your volume. For maximum consistency, HDD-backed volumes must maintain a queue length (rounded to the nearest whole number) of 4 or more when performing 1 MiB sequential I/O Per ulteriori informazioni su come garantire prestazioni dei volumi coerenti, consultare [I/O Caratteristiche e monitoraggio di Amazon EBS](ebs-io-characteristics.md)

### *Aumenta la capacità di lettura anticipata per carichi di lavoro ad alto throughput e con elevata intensità di lettura su e (solo istanze Linux) `st1` `sc1`*
<a name="read_ahead"></a>

Alcuni carichi di lavoro sono gravosi in lettura e accedono al dispositivo a blocchi tramite la cache di pagina del sistema operativo (ad esempio tramite un file system). In questo caso, per ottenere il throughput massimo, ti consigliamo di configurare l'impostazione di lettura anticipata a 1 MiB. Questa per-block-device impostazione deve essere applicata solo ai volumi HDD.

Per esaminare il valore attuale di lettura in anticipo per i dispositivi a blocchi, utilizza il seguente comando:

```
$ sudo blockdev --report /dev/<device>
```

Le informazioni sul dispositivo a blocchi vengono restituiti nel seguente formato:

```
RO    RA   SSZ   BSZ   StartSec            Size   Device
rw   256   512  4096       4096      8587820544   /dev/<device>
```

Il dispositivo illustrato segnala un valore di lettura anticipata di 256 (predefinito). Moltiplica questo numero per la dimensione di settore (512 byte) per ottenere la dimensione di lettura anticipata, in questo caso 128 KiB. Per impostare il valore del buffer su 1 MiB, utilizza il seguente comando:

```
$ sudo blockdev --setra 2048 /dev/<device>
```

Verifica che l'impostazione di lettura anticipata mostri il numero 2.048 eseguendo nuovamente il primo comando.

Utilizza questa impostazione solo quando il carico di lavoro è di grandi dimensioni e sequenzialiI/Os. If it consists mostly of small, random I/Os, this setting will actually degrade your performance. In general, if your workload consists mostly of small or random I/Os; dovresti prendere in considerazione l'utilizzo di un volume SSD (`gp2`and`gp3`) generico anziché un volume or. `st1` `sc1`

### *Usa un kernel Linux moderno (solo istanze Linux)*
<a name="ModernKernel"></a>

Utilizza un kernel moderno di Linux che supporti i descrittori indiretti. Questo supporto è disponibile in tutti i kernel di Linux da 3.8 in poi, nonché in tutte le istanze EC2 della generazione corrente. Se la I/O dimensione media è pari o vicina a 44 KB, è possibile che si stia utilizzando un'istanza o un kernel senza supporto per i descrittori indiretti. Per informazioni su come ricavare la I/O dimensione media dai CloudWatch parametri di Amazon, consulta. [I/O Caratteristiche e monitoraggio di Amazon EBS](ebs-io-characteristics.md)

Per ottenere il throughput massimo sui volumi `st1` o `sc1`, è consigliabile applicare un valore di 256 al parametro `xen_blkfront.max` (per le versioni del kernel di Linux precedenti alla 4.6) o al parametro `xen_blkfront.max_indirect_segments` (per le versioni 4.6 e successive). Il parametro corretto si può impostare nella riga di comando di avvio del sistema operativo. 

Ad esempio, in un'AMI Amazon Linux con un kernel precedente, è possibile aggiungerlo alla fine della riga del kernel nella configurazione GRUB che si trova in `/boot/grub/menu.lst`:

```
kernel /boot/vmlinuz-4.4.5-15.26.amzn1.x86_64 root=LABEL=/ console=ttyS0 xen_blkfront.max=256
```

Per un kernel successivo, il comando avrà un aspetto simile al seguente:

```
kernel /boot/vmlinuz-4.9.20-11.31.amzn1.x86_64 root=LABEL=/ console=tty1 console=ttyS0 xen_blkfront.max_indirect_segments=256
```

Riavvia l'istanza affinché l'impostazione diventi effettiva.

Per maggiori informazioni, consulta [Configurare GRUB](https://docs.aws.amazon.com/linux/al2/ug/UserProvidedKernels.html#configuringGRUB) per paravirtual. AMIs Altre distribuzioni Linux, in particolare quelle che non utilizzano il bootloader GRUB, possono richiedere un approccio diverso per regolare i parametri del kernel.

Per ulteriori informazioni sulle I/O caratteristiche di EBS, consulta la presentazione [Amazon EBS: Designing for Performance](https://www.youtube.com/watch?v=2wKgha8CZ_w) re:Invent su questo argomento.

### Utilizzo di RAID 0 per massimizzare l'utilizzo delle risorse istanza
<a name="RAID"></a>

Alcuni tipi di istanze possono aumentare il I/O throughput rispetto a quello che è possibile fornire per un singolo volume EBS. È possibile riunire più volumi in una configurazione RAID 0 per utilizzare la larghezza di banda disponibile per queste istanze. Per ulteriori informazioni, consulta [Amazon EBS e configurazione RAID](raid-config.md).

### Monitora le prestazioni dei volumi di Amazon EBS
<a name="cloudwatch"></a>

Puoi monitorare e analizzare le prestazioni dei tuoi volumi Amazon EBS utilizzando Amazon CloudWatch, controlli di stato e statistiche dettagliate sulle prestazioni di EBS. Per ulteriori informazioni, consultare [CloudWatch Parametri Amazon per Amazon EBS](using_cloudwatch_ebs.md) e [Statistiche dettagliate sulle prestazioni di Amazon EBS](nvme-detailed-performance-stats.md).

# Ottimizzazione per Amazon EBS
<a name="ebs-optimization"></a>

Un'istanza ottimizzata per Amazon EBS utilizza uno stack di configurazione ottimizzato e fornisce capacità aggiuntiva dedicata per Amazon EBS I/O. This optimization provides the best performance for your EBS volumes by minimizing contention between Amazon EBS I/O e altro traffico proveniente dall'istanza.

Le istanze ottimizzate per EBS offrono larghezza di banda dedicata ad Amazon EBS. Se collegata a un'istanza ottimizzata per EBS:
+ `io2`I volumi Block Express sono progettati per offrire una latenza media inferiore a 500 microsecondi per operazioni da 16 KiB. I/O `io2` I volumi Block Express offrono anche una migliore latenza degli outlier rispetto ai volumi General Purpose, riducendo la frequenza di I/Os oltre 800 microsecondi di oltre 10 volte. `io1`e `io2` i volumi sono progettati per fornire almeno il 90% delle prestazioni IOPS assegnate il 99,9% delle volte in un determinato anno.
+ `gp2`e `gp3` i volumi sono progettati per fornire almeno il 90% delle prestazioni IOPS previste il 99% delle volte in un determinato anno.
+ `st1`e `sc1` i volumi forniscono almeno il 90% delle prestazioni di throughput previste il 99% delle volte in un determinato anno.

I periodi non conformi sono distribuiti in modo approssimativamente uniforme, con il 99% del throughput totale previsto ogni ora. Per ulteriori informazioni, consulta [Tipi di volume Amazon EBS](ebs-volume-types.md).

La I/O dimensione del carico di lavoro influirà sulla latenza media osservata man mano che la latenza aumenta con l'aumentare delle dimensioni. I/O Ad esempio, i volumi `io2` Block Express sono progettati per fornire una latenza media inferiore a 500 microsecondi per operazioni da 16 KiB. I/O 

Per ulteriori informazioni, consulta [Istanze ottimizzate per Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) nella *Guida per l'utente di Amazon EC2*.

# Inizializzazione dei volumi Amazon EBS
<a name="initalize-volume"></a>

Quando crei un volume Amazon EBS, da uno snapshot EBS o da un altro volume EBS (copia del volume), i blocchi di dati devono essere scritti sul volume prima di potervi accedere. Per i volumi creati da istantanee, i blocchi di dati devono essere scaricati da Amazon S3 nel nuovo volume. Per le copie di volume, i blocchi di dati devono essere copiati dal volume di origine alla copia del volume. Questo processo è chiamato *inizializzazione del volume*. Durante questo periodo, il volume da inizializzare potrebbe presentare un aumento della I/O latenza e una riduzione delle prestazioni. Le prestazioni a pieno volume vengono raggiunte solo dopo che tutti i blocchi di archiviazione sono stati scaricati e scritti sul volume.

**Nota**  
I volumi vuoti offrono le massime prestazioni subito dopo la creazione e non richiedono l'inizializzazione.

La frequenza di inizializzazione del volume predefinita varia durante il processo di inizializzazione, il che potrebbe rendere imprevedibili i tempi di completamento. Per ridurre al minimo l'impatto sulle prestazioni associato all'inizializzazione del volume, è possibile utilizzare le seguenti opzioni:

**Nota**  
La velocità di inizializzazione del volume e il ripristino rapido delle istantanee non sono supportati per le copie di volume. Per ulteriori informazioni, consulta Inizializzazione di [volumi di copie](ebs-copying-volume.md#copy-volume-initialization).

**Topics**
+ [Usa una velocità di provisioning di Amazon EBS per l'inizializzazione dei volumi](#volume-initialization-rate)
+ [Utilizza un'istantanea abilitata per il ripristino rapido delle istantanee](#volume-initialization-fsr)
+ [Inizializza manualmente i volumi](#ebs-initialize)
+ [Monitora l'inizializzazione del volume](ebs-initialize-monitor.md)

## Usa una velocità di provisioning di Amazon EBS per l'inizializzazione dei volumi
<a name="volume-initialization-rate"></a>

Quando crei un volume Amazon EBS da uno snapshot, puoi facoltativamente specificare un Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate) compreso tra 100 e 300 MiB/s. Se si specifica una frequenza di inizializzazione del volume, i blocchi di snapshot vengono scaricati da Amazon S3 e scritti sul volume alla velocità specificata dopo la creazione. Ciò consente di creare volumi che diventano completamente inizializzati e perfettamente performanti in un periodo di tempo prevedibile.

L'utilizzo di una frequenza di inizializzazione dei volumi è particolarmente utile quando si creano più volumi contemporaneamente ed è necessario inizializzarli tutti in un periodo di tempo prevedibile.

**Nota**  
Amazon EBS Provisioned Rate for Volume Initialization è supportato con tutti i tipi di volume Amazon EBS e tutti i tipi di istanze Amazon EC2, incluse le istanze Mac di Amazon EC2.

Puoi specificare una frequenza di inizializzazione del volume:
+ Per richieste di creazione di volumi individuali
+ Per le mappature dei dispositivi a blocchi di volume EBS, nelle richieste di avvio delle istanze
+ Per le mappature dei dispositivi EBS Volume Block nei modelli di lancio
+ Per i volumi EBS creati mediante attività di sostituzione dei volumi root
+ Per volumi EBS su cluster Amazon EKS (creati da EBS CSI Driver) e cluster Amazon ECS

**Topics**
+ [Come funziona](#consistent-rate-how)
+ [Considerazioni](#consistent-rate-considerations)
+ [Quote](#consistent-rate-quota)
+ [Fatturazione](#consistent-rate-billing)

### Come funziona
<a name="consistent-rate-how"></a>

Quando crei un volume con una frequenza di inizializzazione del volume, i blocchi di snapshot vengono scaricati da Amazon S3 sul volume alla velocità specificata.

Il tempo necessario per inizializzare il volume dipende da quanto segue:
+ La dimensione dei dati dell'istantanea, non la dimensione del volume da creare.
**Suggerimento**  
Per trovare la dimensione dei dati di un'istantanea, controlla il `FullSnapshotSizeInBytes` campo nell'output del comando [describe-snapshots](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) o il campo Dimensione **completa dell'istantanea nella console**.
+ La frequenza di inizializzazione del volume specificata

Ad esempio, se si crea un volume da 20 GiB utilizzando un'istantanea con 10 GiB di dati e si specifica una velocità di inizializzazione del volume di 300 = 34,1 secondi). MiB/s, the volume will be fully initialized in approximately 34.1 seconds (10 GiB / 300 MiB/s Analogamente, se si creano contemporaneamente 10 volumi con lo stesso snapshot e lo stesso tasso di inizializzazione del volume, tutti e 10 i volumi verranno inizializzati completamente in 34,1 secondi.

### Considerazioni
<a name="consistent-rate-considerations"></a>
+ È possibile specificare una velocità di inizializzazione del volume compresa tra 100 e 300 MiB/s.
+ Quando si specifica una velocità di inizializzazione del volume, i costi e il tempo di completamento si basano sulla dimensione dei dati dell'istantanea (non sulla dimensione del volume) e sulla frequenza specificata. Per ulteriori informazioni, consulta [Fatturazione](#consistent-rate-billing).
+ Amazon EBS offre una velocità media che si colloca entro il 10 percento della velocità di inizializzazione del volume specificata per il 99 percento del tempo.
+ Se specifichi una frequenza di inizializzazione del volume e utilizzi uno snapshot abilitato per il ripristino rapido degli snapshot, Amazon EBS utilizza la frequenza specificata anziché il ripristino rapido degli snapshot. Per utilizzare invece il ripristino rapido degli snapshot, non specificare una frequenza di inizializzazione del volume.
+ [Se Amazon EBS non è in grado di inizializzare il volume alla velocità di inizializzazione del volume specificata a causa di limiti di capacità o perché hai superato la quota, la richiesta ha esito negativo.](#consistent-rate-quota)
+ Non è possibile specificare una velocità di inizializzazione del volume per i volumi creati su AWS Outposts o in Local Zones o Wavelength Zones.

### Quote
<a name="consistent-rate-quota"></a>

Esiste un limite di 5.000 MiB/s alla velocità di inizializzazione cumulativa del volume che è possibile richiedere tra richieste di creazione di volumi simultanee. Ad esempio, è possibile effettuare 50 richieste simultanee di creazione di volumi con una frequenza di 100 MiB/s (50 richieste simultanee \$1 100) o 25 richieste simultanee con una MiB/s frequenza di 200 MiB/s (25 richieste simultanee \$1 200). MiB/s Questo limite si applica per regione. Se una richiesta supera questo limite, ha esito negativo. Attendi il completamento di alcune delle richieste in corso o richiedi un aumento della quota. Per ulteriori informazioni, consulta [Quote per Amazon EBS](ebs-resource-quotas.md).

### Fatturazione
<a name="consistent-rate-billing"></a>

Quando si crea un volume con una velocità di inizializzazione del volume, viene addebitata una tariffa per GiB di dati snapshot, per MiB della frequenza di inizializzazione specificata. La tariffa varia in base alla regione. Per ulteriori informazioni, consulta [Prezzi di Amazon EBS](https://aws.amazon.com/ebs/pricing/).

I costi vengono addebitati in base alla dimensione dei dati dell'istantanea, non alla dimensione del volume. Ad esempio, se si crea un'istantanea di un volume di 100 GiB, ma con solo 50 GiB di dati, l'istantanea ha una dimensione del volume di 100 GiB, ma la dimensione dei dati dell'istantanea è di 50 GiB. Se si utilizza tale snapshot per creare un volume e specificare una velocità di inizializzazione del volume, i costi si basano sui 50 GiB di dati di snapshot.

**Suggerimento**  
**Per trovare la dimensione dei dati di un'istantanea, controlla il `FullSnapshotSizeInBytes` campo nell'output del comando [describe-snapshots](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) o il campo Dimensione completa dell'istantanea nella console.**

La formula è la seguente:

```
rate for Region x snapshot data size x volume initialization rate
```

Ti viene fatturato l'intero importo non appena il volume entra nello `active` stato. Le richieste non riuscite non vengono fatturate.

Se elimini un volume prima del completamento dell'inizializzazione del volume, ti verrà comunque addebitata la tariffa di inizializzazione del volume richiesta.

## Utilizza un'istantanea abilitata per il ripristino rapido delle istantanee
<a name="volume-initialization-fsr"></a>

Se si crea un volume da un'istantanea abilitata per il ripristino rapido delle istantanee, il volume viene completamente inizializzato al momento della creazione e offre immediatamente tutte le sue prestazioni. Per ulteriori informazioni sull'utilizzo del ripristino rapido delle istantanee, vedere. [Ripristino rapido degli snapshot Amazon EBS](ebs-fast-snapshot-restore.md)

## Inizializza manualmente i volumi dopo la creazione
<a name="ebs-initialize"></a>

Puoi inizializzare manualmente un volume Amazon EBS dopo la creazione per ridurre al minimo l'impatto sulle prestazioni dell'inizializzazione del volume. 

Puoi utilizzare le seguenti procedure per inizializzare manualmente un volume Amazon EBS dopo la creazione.

**Importante**  
Durante l'inizializzazione dei volumi SSD con capacità di IOPS allocata creati da snapshot, le prestazioni del volume potrebbero calare di oltre il 50% rispetto al livello previsto, mostrando lo stato `warning` nella verifica di stato **Prestazioni di I/O**. Si tratta di un comportamento previsto ed è possibile ignorare lo stato `warning` sui volumi SSD con capacità di IOPS allocata durante la loro inizializzazione. Per ulteriori informazioni, consulta [Controlli dello stato dei volumi di Amazon EBS](monitoring-volume-checks.md).

### Istanze Linux
<a name="ebs-initialize-linux"></a>

**Per inizializzare un volume creato da uno snapshot su Linux**

1. Collegare il volume appena ripristinato all'istanza Linux.

1. Utilizzare il comando **lsblk** per elencare i dispositivi a blocchi sull'istanza.

   ```
   $ lsblk
   NAME  MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
   xvdf  202:80   0  30G  0 disk
   xvda1 202:1    0   8G  0 disk /
   ```

   Qui si vede che il nuovo volume, `/dev/xvdf`, è collegato, ma non montato (perché non ci sono percorsi elencati sotto la colonna `MOUNTPOINT`).

1. <a name="initialize-snapshot-step"></a>Utilizzare le utilità **dd** o **fio** per leggere tutti i blocchi del dispositivo. Il comando **dd** è installato come predefinito sui sistemi Linux, ma **fio** è notevolmente più rapido perché consente letture multi-thread.
**Nota**  
Questa fase può richiedere da alcuni minuti a diverse ore, a seconda della larghezza di banda dell'istanza EC2, degli IOPS assegnati al volume e delle dimensioni del volume.

   [**dd**] Il parametro `if` (file di input) deve essere impostato sull'unità che si desidera inizializzare. Il parametro `of` (output file, file di output) deve essere impostato sul dispositivo virtuale Linux null, `/dev/null`. Il parametro `bs` imposta le dimensioni del blocco dell'operazione in lettura; per le prestazioni ottimali, deve essere impostato a 1 MB.
**Importante**  
Un utilizzo improprio di **dd** può facilmente distruggere i dati di un volume. Utilizza in modo preciso il comando di esempio in basso. Solo il parametro `if=/dev/xvdf` può variare a seconda del nome del dispositivo che si sta leggendo.

   ```
   $ sudo dd if=/dev/xvdf of=/dev/null bs=1M
   ```

   [**fio**] Se **fio** è installato sul sistema, utilizza il comando seguente per inizializzare il volume. Il parametro `--filename` (file di input) deve essere impostato sull'unità da inizializzare.

   ```
   $ sudo fio --filename=/dev/xvdf --rw=read --bs=1M --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize
   ```

   Per installare **fio** su Amazon Linux, utilizzare il comando seguente:

   ```
   sudo yum install -y fio
   ```

   Per installare **fio** su Ubuntu, utilizzare il comando seguente:

   ```
   sudo apt-get install -y fio
   ```

   Al termine dell'operazione, visualizzerai un report dell'operazione di lettura. Il volume è ora pronto per l'uso. Per ulteriori informazioni, consulta [Rendi disponibile un volume Amazon EBS per l'uso](ebs-using-volumes.md).

### Istanze Windows
<a name="ebs-initialize-windows"></a>

Prima di utilizzare l'uno o l'altro strumento, raccogli informazioni sui dischi nel sistema, nel seguente modo:

**Per raccogliere informazioni sui dischi di sistema**

1. Utilizzare il comando **wmic** per elencare i dischi disponibili sul sistema:

   ```
   wmic diskdrive get size,deviceid
   ```

   Di seguito è riportato un output di esempio:

   ```
   DeviceID            Size
   \\.\PHYSICALDRIVE2  80517265920
   \\.\PHYSICALDRIVE1  80517265920
   \\.\PHYSICALDRIVE0  128849011200
   \\.\PHYSICALDRIVE3  107372805120
   ```

1. Identificare il disco da inizializzare utilizzando **dd** o **fio**. L'unità `C:` si trova in `\\.\PHYSICALDRIVE0`. Puoi utilizzare l'utilità `diskmgmt.msc` per confrontare le lettere di unità con i numeri delle unità disco se non sei sicuro di quale numero di unità utilizzare. 

------
#### [ Use the dd utility ]

Completare le procedure seguenti per installare e utilizzare **dd** per inizializzare un volume.

**Considerazioni importanti**
+ Questa fase può richiedere da alcuni minuti a diverse ore, a seconda della larghezza di banda dell'istanza EC2 in uso, degli IOPS assegnati al volume e delle dimensioni del volume.
+ Un utilizzo improprio di **dd** può facilmente distruggere i dati di un volume. Assicurati di seguire questa procedura con precisione.

**Per installare dd per Windows**

Il programma **dd** per Windows fornisce un'esperienza simile al programma **dd** comunemente disponibile per i sistemi Linux e Unix e consente di inizializzare volumi Amazon EBS creati da snapshot. Le versioni beta più recenti supportano il dispositivo `/dev/null` virtuale. Se si installa una versione precedente, è possibile utilizzare il dispositivo `nul` virtuale. La documentazione completa è disponibile all'indirizzo [http://www.chrysocome.net/dd](http://www.chrysocome.net/dd).

1. Scaricare la versione binaria più recente di **dd** per Windows da [http://www.chrysocome.net/dd](http://www.chrysocome.net/dd).

1. (Opzionale) Creare una cartella per le utilità di righe di comando che sia facile da individuare e ricordare, ad esempio `C:\bin`. Se hai già una cartella apposita per le utilità di righe di comando, puoi utilizzarla nella fase seguente.

1. Decomprimere il pacchetto binario e copiare il file `dd.exe` nella cartella di utilità di righe di comando (ad esempio `C:\bin`).

1. Aggiungere la cartella delle utility della riga di comando alla variabile di ambiente Path (Percorso), in modo da poter eseguire i programmi presenti nella cartella da qualunque posizione.

   1. Scegliere **Start (Avvio)**, aprire il menu contestuale (pulsante destro del mouse) per **Computer (Computer)**, quindi selezionare **Properties (Proprietà)**.

   1. Scegliere **Advanced system settings (Impostazioni di sistema avanzate)**, **Environment Variables (Variabili di ambiente)**.

   1. Per **System Variables (Variabili di sistema)**, selezionare il **Path (Percorso)** della variabile e scegliere **Edit (Modifica)**.

   1. Per **Variable value (Valore variabile)**, aggiungere un punto e virgola e la posizione della cartella della utility a riga di comando (**;C:\$1bin\$1)** alla fine del valore esistente.

   1. Scegliere **OK** per chiudere la finestra **Edit System Variable (Modifica variabile di sistema) **.

1. Aprire il prompt dei comandi in una nuova finestra. Le azioni descritte nei passaggi precedenti non consentono l'aggiornamento delle variabili di ambiente nelle finestre del prompt dei comandi già aperte. Le finestre del prompt dei comandi che vengono aperte dopo aver completato il passaggio precedente vengono invece aggiornate.
<a name="prewarm_snapshot_command"></a>
**Inizializzazione di un volume tramite dd per Windows**  
Eseguire il seguente comando per leggere tutti i blocchi sul dispositivo specificato (e inviare l'output al dispositivo virtuale `/dev/null`). Questo comando inizializza in modo sicuro i dati esistenti.

```
dd if=\\.\PHYSICALDRIVEn of=/dev/null bs=1M --progress --size
```

Si potrebbe visualizzare un errore se **dd** prova a continuare la lettura oltre la fine del volume. Ignorare questo messaggio.

Le versioni precedenti del comando **dd** non supportano il dispositivo `/dev/null`. Invece, è possibile utilizzare il dispositivo `nul` come segue.

```
dd if=\\.\PHYSICALDRIVEn of=nul bs=1M --progress --size
```

------
#### [ Use the fio utility ]

Completare le procedure seguenti per installare e utilizzare **fio** per inizializzare un volume.

**Per installare **fio** per Windows**

Il programma **fio** per Windows fornisce un'esperienza simile al programma **fio** comunemente disponibile sui sistemi Linux e Unix e consente di inizializzare volumi Amazon EBS ripristinati da snapshot. [Per ulteriori informazioni, consulta https://github.com/axboe/ fio.](https://github.com/axboe/fio)

1. Scarica il programma di installazione [MSI **fio**](https://github.com/axboe/fio/releases) espandendo **Asset** per la versione più recente e selezionando il programma di installazione MSI.

1. Installare **fio**.

**Per inizializzare un volume utilizzando **fio** per Windows**

1. Eseguire un comando simile al seguente per inizializzare un volume:

   ```
   fio --filename=\\.\PHYSICALDRIVEn  --rw=read --bs=1M --iodepth=32 --direct=1 --name=volume-initialize
   ```

1. Al termine dell'operazione, il nuovo volume è pronto per essere utilizzato. Per ulteriori informazioni, consulta [Rendi disponibile un volume Amazon EBS per l'uso](ebs-using-volumes.md).

------

# Monitora lo stato dell'inizializzazione del volume Amazon EBS
<a name="ebs-initialize-monitor"></a>

Quando si crea un volume, da un'istantanea o da un altro volume (copia del volume), è possibile monitorare lo stato dell'inizializzazione del volume per determinare se il processo di inizializzazione è completo. È possibile monitorare l'inizializzazione del volume utilizzando le seguenti opzioni:

**Topics**
+ [AWS CLI e console Amazon EC2](#ebs-initialize-monitor-ec2)
+ [Amazon EventBridge](#ebs-initialize-monitor-ev)

## AWS CLI e console Amazon EC2
<a name="ebs-initialize-monitor-ec2"></a>

Puoi utilizzare la AWS CLI console Amazon EC2 per verificare lo stato dell'inizializzazione del volume in qualsiasi momento dopo la creazione del volume. Vengono fornite le seguenti informazioni:
+ **Tipo di inizializzazione** (AWS CLI solo): indica il tipo di inizializzazione del volume utilizzato. `default`per il ripristino rapido degli snapshot e l'inizializzazione predefinita del volume, per `provisioned-rate` Amazon EBS Provisioned Rate for Volume Initialization e `volume-copy` per l'inizializzazione di volumi di copie.
+ **Tempo stimato di completamento** (AWS CLI solo): solo per i volumi creati utilizzando Amazon EBS Provisioned Rate for Volume Initialization. Il tempo residuo stimato, in secondi, per il completamento dell'inizializzazione del volume.
+ **Avanzamento**: l'avanzamento, in percentuale (0-100), del processo di inizializzazione del volume. Per i volumi inizializzati con il ripristino rapido delle istantanee, l'avanzamento passa al 100% subito dopo la creazione.
+ **Stato di inizializzazione: lo stato** generale dell'inizializzazione del volume (o). `initializing` `completed` Per i volumi inizializzati con il ripristino rapido delle istantanee, lo stato passa a quello immediatamente successivo alla `completed` creazione.

**Nota**  
L'aggiornamento delle informazioni di inizializzazione del volume può richiedere fino a 5 minuti.

------
#### [ Console ]

**Per monitorare lo stato dell'inizializzazione del volume**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, selezionare **Volumes (Volumi)**.

1. Seleziona il volume per il quale controllare lo stato di inizializzazione del volume.

1. Il campo **Stato di inizializzazione** nella griglia e la scheda **Dettagli** forniscono informazioni sullo stato di avanzamento nel seguente formato: *Stato di inizializzazione (percentuale di avanzamento)*. Ad esempio, *inizializzazione* (75%).

   *I possibili stati di inizializzazione includono: *Inizializzazione* e Completato.*

------
#### [ AWS CLI ]

**Per monitorare lo stato dell'inizializzazione del volume**  
Utilizzare il [ describe-volume-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volume-status.html) AWS CLI comando per visualizzare lo stato di inizializzazione. `EstimatedTimeToCompleteInSeconds`viene restituito solo per i volumi creati con un Amazon EBS Provisioned Rate for Volume Initialization.

Ad esempio, il comando seguente verifica lo stato di inizializzazione del volume`vol-11111111111111111`, che è stato creato con un Amazon EBS Provisioned Rate for Volume Initialization.

```
aws ec2 describe-volume-status --volume-id vol-01111111111111111
```

Di seguito è riportato un output di esempio.

```
{
    "VolumeStatuses": [
        {
            "Actions": [],
            "AvailabilityZone": "us-east-1a",
            "Events": [],
            "VolumeID": "vol-11111111111111111",
            "VolumeStatus": {
                "Details": [
                    {
                        "Name": "io-enabled",
                        "Status": "passed"
                    },
                    {
                        "Name": "io-performance",
                        "Status": "not-applicable"
                    },
                    {
                        "Name": "initialization-state",
                        "Status": "completed"
                    }
                ],
                "Status": "ok"
            },
            "InitializationStatusDetails": {
                "InitializationType": "provisioned-rate",
                "Progress": 75,
                "EstimatedTimeToCompleteInSeconds": 850
            }
        }
    ]
}
```

------

## Amazon EventBridge
<a name="ebs-initialize-monitor-ev"></a>

Un EventBridge evento Amazon viene inviato al tuo account entro cinque minuti dal **completamento** dell'inizializzazione del volume. Puoi creare regole che attivano azioni programmatiche in risposta a questi eventi.

**Nota**  
Gli eventi vengono emessi secondo il principio del massimo sforzo.
Se elimini il volume prima del completamento dell'inizializzazione o entro 5 minuti dal completamento dell'inizializzazione, potresti non ricevere l'evento.

Per ulteriori informazioni sull'evento, vedere. [Evento di inizializzazione del volume EBS](ebs-cloud-watch-events.md#volume-initialization-events)

**Per monitorare lo stato dell'inizializzazione del volume utilizzando EventBridge**

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Scegli **Regole**, **Crea regola**.

1. Per il **passaggio 1**, procedi come segue:

   1. Specificate un nome e una descrizione per la regola.

   1. Per **Event bus**, scegli il bus per ricevere gli eventi. Se non hai creato un bus di eventi personalizzato, mantieni quello **predefinito** o consulta [Creazione di un bus di eventi](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html).

   1. Per **Tipo di regola**, mantieni **Regola con uno schema di eventi**.

   1. Scegli **Next (Successivo)**.

1. Per la **Fase 2**, effettuate le seguenti operazioni:

   1. Per **Event source**, mantieni **AWS gli eventi o gli eventi dei EventBridge partner**.

   1. Come **Metodo di creazione**, sceglie **Pattern personalizzato (editor JSON)**.

   1. Per **Event pattern**, aggiungi quanto segue:

      ```
      {
          "detail-type": ["EBS Volume Notification"],
          "source": ["aws.ec2"],
          "detail": {
              "event": ["initializeVolume"],
              "result": ["succeeded"]
          }
      }
      ```

      Per un evento di esempio, consultare [Evento di inizializzazione del volume EBS](ebs-cloud-watch-events.md#volume-initialization-events).

   1. Scegli **Next (Successivo)**.

1. Per il **passaggio 3**, effettuate le seguenti operazioni:

   1. Per **Tipi di destinazione**, scegli **servizio AWS **.

   1. Per **Seleziona destinazione**, scegli l'**argomento SNS** e per **Argomento** seleziona l'argomento richiesto. Se non hai creato alcun argomento, consulta [Creazione di un argomento](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html).

   1. Per **le autorizzazioni**, mantieni selezionato **Usa il ruolo di esecuzione (consigliato)**.

   1. Per **Ruolo di esecuzione**, mantieni selezionata l'opzione **Crea un nuovo ruolo per questa risorsa specifica** e il nome del ruolo predefinito.

   1. Scegli **Next (Successivo)**.

1. **Per il **passaggio 4**, specificate i tag per la regola, se necessario, quindi scegliete Avanti.**

1. Per il **passaggio 5**, rivedi la regola, quindi scegli **Crea regola**.

# Ponderazione configurabile della larghezza di banda dell'istanza
<a name="instance-bandwidth-configuration"></a>

La configurazione della larghezza di banda dell'istanza (IBC) è una funzionalità che consente di regolare l'allocazione della larghezza di banda di rete tra Amazon EBS e la rete VPC per un'istanza Amazon EC2. Questa funzionalità può aiutarti a ottimizzare le prestazioni per i carichi di lavoro con requisiti di larghezza di banda specifici. La configurazione della larghezza di banda delle istanze è supportata solo in alcune istanze. Per ulteriori informazioni, consulta Configurazione della ponderazione della [larghezza di banda delle istanze](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html#config-bw-support).

Per quanto riguarda le prestazioni EBS, l'utilizzo della ponderazione della `ebs-1` larghezza di banda aumenta la larghezza di banda EBS di base del 25 percento, riducendo la larghezza di banda della rete VPC dello stesso importo assoluto. Ciò può essere utile per i carichi di lavoro a uso intensivo di I/O che richiedono un throughput EBS più elevato.

Quando pianifichi il carico di lavoro, valuta attentamente le dimensioni e i modelli. I/O I/O Le dimensioni più piccole sono generalmente meno influenzate dai limiti della larghezza di banda, mentre le I/O dimensioni più grandi o i carichi di lavoro sequenziali possono subire impatti più significativi dalle modifiche alla larghezza di banda. È fondamentale testare a fondo il carico di lavoro specifico per garantire prestazioni ottimali con la ponderazione della larghezza di banda prescelta.

**Considerazioni**
+ La larghezza di banda configurabile delle istanze è supportata su determinati tipi di istanze. Per ulteriori informazioni, consulta Tipi di [istanze supportati](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html#config-bw-support).
+ L'utilizzo della ponderazione della `ebs-1` larghezza di banda aumenta la larghezza di banda EBS fino al 25 percento, il che può migliorare le prestazioni delle applicazioni a uso intensivo di I/O. Tuttavia, tieni presente che la larghezza di banda della rete VPC verrà ridotta dello stesso importo assoluto (la specifica della larghezza di banda combinata tra EBS e rete non cambia).
+ Le modifiche nella ponderazione della larghezza di banda possono influire in modo significativo sulle prestazioni. I/O Con la ponderazione della `vpc-1` larghezza di banda, la larghezza di banda della rete aumenta, ma è possibile che si verifichino IOPS inferiori al previsto per i volumi EBS. Questo perché potresti raggiungere il limite di larghezza di banda EBS prima del limite IOPS, specialmente con dimensioni maggiori. I/O Ad esempio, un tipo di istanza che supporta in genere 240.000 IOPS con una I/O dimensione di 16 KiB potrebbe ottenere un numero inferiore di IOPS utilizzando il peso della larghezza di `vpc-1` banda a causa della ridotta larghezza di banda EBS.
+ Verifica sempre il tuo carico di lavoro specifico per assicurarti che la ponderazione della larghezza di banda scelta soddisfi le tue esigenze di prestazioni.
+ Puoi configurare la ponderazione della larghezza di banda durante l'avvio dell'istanza o modificarla per le istanze interrotte. Per ulteriori informazioni, consulta [Configurare la ponderazione della larghezza di banda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html#config-bw-how-to) per l'istanza.
+ Puoi configurare la ponderazione della larghezza di banda delle istanze senza costi aggiuntivi.

# I/O Caratteristiche e monitoraggio di Amazon EBS
<a name="ebs-io-characteristics"></a>

In una determinata configurazione di volume, determinate I/O caratteristiche determinano il comportamento prestazionale dei volumi EBS.
+ I volumi supportati da SSD, General Purpose SSD (`gp2`and`gp3`) e Provisioned IOPS SSD (`io1`and`io2`), offrono prestazioni costanti indipendentemente dal fatto che l'operazione sia casuale o sequenziale. I/O 
+ I volumi supportati da HDD, Throughput Optimized HDD (`st1`) e Cold HDD (`sc1`), offrono prestazioni ottimali solo quando le operazioni sono ampie e sequenziali. I/O 

Per comprendere le prestazioni dei volumi SSD e HDD nell'applicazione, è importante conoscere la connessione tra la domanda sul volume, la quantità di IOPS a sua disposizione, il tempo necessario per il completamento di un' I/O operazione e i limiti di throughput del volume.

**Topics**
+ [IOPS](#ebs-io-iops)
+ [Lunghezza della coda del volume e latenza](#ebs-io-volume-queue)
+ [Dimensioni degli I/O e limiti di throughput del volume](#ebs-io-size-throughput-limits)
+ [Monitora le caratteristiche utilizzando I/O CloudWatch](#ebs-io-metrics)
+ [I/O Monitora le statistiche sulle prestazioni in tempo](#monitor-io-nvme)
+ [Risorse correlate](#ebs-io-resources)

## IOPS
<a name="ebs-io-iops"></a>

Gli IOPS sono un'unità di misura che rappresenta le operazioni al secondo. input/output Le operazioni sono misurate in LiB e la tecnologia di unità sottostante determina la quantità massima di dati che un tipo di volume conta come singolo in modo I/O. I/O size is capped at 256 KiB for SSD volumes and 1,024 KiB for HDD volumes because SSD volumes handle small or random I/O molto più efficiente rispetto ai volumi HDD. 

Quando piccole I/O operazioni sono fisicamente sequenziali, Amazon EBS tenta di unirle in un'unica I/O operazione fino alla dimensione massima. I/O Allo stesso modo, quando I/O le operazioni sono più grandi della I/O dimensione massima, Amazon EBS tenta di suddividerle in I/O operazioni più piccole. La tabella seguente mostra alcuni esempi.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/ebs/latest/userguide/ebs-io-characteristics.html)

Di conseguenza, quando si crea un volume supportato da SSD che supporta 3.000 IOPS (effettuando il provisioning di un `io2` volume `io1` or con 3.000 IOPS, dimensionando un volume `gp2` a 1.000 GiB o utilizzando un `gp3` volume) e lo si collega a un'istanza ottimizzata per EBS in grado di fornire una larghezza di banda sufficiente, è possibile trasferire fino a 3.000 dati al secondo, con un throughput determinato dalla dimensione. I/Os I/O 

## Lunghezza della coda del volume e latenza
<a name="ebs-io-volume-queue"></a>

La lunghezza della coda del volume è il numero di I/O richieste in sospeso per un dispositivo. La latenza è il tempo effettivo del end-to-end client di un' I/O operazione, in altre parole, il tempo trascorso tra l'invio di un messaggio I/O a EBS e la ricezione da parte di EBS di una conferma del completamento della lettura o scrittura. I/O La lunghezza della coda deve essere calibrata correttamente in base alla I/O dimensione e alla latenza per evitare di creare colli di bottiglia sul sistema operativo guest o sul collegamento di rete a EBS.

La lunghezza di coda ottimale è diversa per ciascun carico di lavoro, a seconda della sensibilità dell'applicazione agli IOPS e alla latenza. Se il carico di lavoro non fornisce un numero sufficiente di I/O richieste per utilizzare appieno le prestazioni disponibili per il volume EBS, è possibile che il volume non fornisca gli IOPS o il throughput previsti. 

Le applicazioni ad alta intensità di transazioni sono sensibili all'aumento I/O della latenza e sono adatte per i volumi basati su SSD. Puoi mantenere IOPS elevati tenendo bassa la latenza conservando una bassa lunghezza di coda e un alto numero di IOPS disponibili per il volume. Trasferire costantemente più IOPS su un volume di quanti ne abbia a disposizione può causare un aumento della latenza. I/O Per garantire la massima coerenza, un volume deve mantenere una profondità di coda media (arrotondata al numero intero più vicino) di uno per ogni 1.000 IOPS assegnati in un minuto. Ad esempio, per un volume fornito con 3.000 IOPS, la profondità media della coda deve essere 3.

Le applicazioni che richiedono un'elevata velocità di trasmissione sono meno sensibili all'aumento della I/O latenza e sono adatte per i volumi supportati da HDD. Puoi mantenere un throughput elevato nei volumi HDD conservando un'alta lunghezza di coda durante l'esecuzione di I/O grandi e sequenziali.

## Dimensioni degli I/O e limiti di throughput del volume
<a name="ebs-io-size-throughput-limits"></a>

Per i volumi basati su SSD, se le I/O dimensioni sono molto grandi, è possibile che si verifichi un numero di IOPS inferiore a quello previsto perché si sta raggiungendo il limite di throughput del volume. Ad esempio, un `gp2` volume inferiore a 1.000 GiB con crediti burst disponibili ha un limite di IOPS di 3.000 e un limite di throughput di volume di 250 MiB/s. If you are using a 256 KiB I/O size, your volume reaches its throughput limit at 1000 IOPS (1000 x 256 KiB = 250 MiB). For smaller I/O sizes (such as 16 KiB), this same volume can sustain 3,000 IOPS because the throughput is well below 250 MiB/s. (These examples assume that your volume's I/O non raggiunge i limiti di throughput dell'istanza.) Per ulteriori informazioni sui limiti di throughput per ciascun tipo di volume EBS, consulta [Tipi di volume Amazon EBS](ebs-volume-types.md). 

Per I/O le operazioni più piccole, è possibile che venga visualizzato un valore higher-than-provisioned IOPS misurato dall'interno dell'istanza. Questo succede quando il sistema operativo dell'istanza riunisce piccole operazioni I/O in un'operazione più grande prima di trasferirle a Amazon EBS.

Se il tuo carico di lavoro è sequenziale I/Os su dischi rigidi `st1` e su `sc1` volumi, potresti riscontrare un numero di IOPS superiore al previsto, misurato all'interno dell'istanza. Ciò accade quando il sistema operativo dell'istanza si unisce in modo sequenziale I/Os e li conta in 1.024 unità della dimensione di KiB. Se il carico di lavoro è limitato o casuale per determinare il numero totale di IOPS, il I/Os, you may experience a lower throughput than you expect. This is because we count each random, non-sequential I/O raggiungimento del limite di IOPS del volume può avvenire prima del previsto.

Qualunque sia il tipo di volume EBS, se non riscontri gli IOPS o il throughput previsto nella tua configurazione, verifica che il fattore limitante non sia la larghezza di banda dell'istanza EC2. Per prestazioni ottimali, dovresti sempre utilizzare un'istanza ottimizzata per EBS di ultima generazione (o un'istanza che includa 10 connettività di rete). Gb/s Un'altra possibile causa del mancato raggiungimento degli IOPS previsti è la mancanza di dati sufficienti per accedere ai volumi EBS. I/O 

## Monitora le caratteristiche utilizzando I/O CloudWatch
<a name="ebs-io-metrics"></a>

Puoi monitorare queste I/O caratteristiche con le [metriche di volume di ciascun CloudWatch volume](using_cloudwatch_ebs.md#ebs-volume-metrics).

**Monitor per I/O in stallo**  
`VolumeStalledIOCheck` monitora lo stato dei volumi EBS per determinare quando i volumi sono compromessi. La metrica è un valore binario che restituirà lo stato `0` (successo) o `1` (esito negativo) a seconda che il volume EBS sia in grado di completare o meno le operazioni. I/O 

Se la `VolumeStalledIOCheck` metrica fallisce, puoi AWS attendere la risoluzione del problema oppure puoi intraprendere azioni, come sostituire il volume interessato o interrompere e riavviare l'istanza a cui è collegato il volume. Nella maggior parte dei casi, quando parametro non riesce, EBS diagnostica e ripristina automaticamente il volume entro pochi minuti. Puoi utilizzare l'azione [Pause I/O](ebs-fis.md) in AWS Fault Injection Service per eseguire esperimenti controllati per testare l'architettura e il monitoraggio in base a questa metrica per migliorare la resilienza ai guasti di storage.

**Monitora la latenza per un volume I/O**  
Puoi monitorare la latenza media per le operazioni di lettura e scrittura per un volume Amazon EBS utilizzando rispettivamente i `VolumeAvgWriteLatency` parametri `VolumeAvgReadLatency` e. Puoi utilizzare l'azione [Latency Injection](ebs-fis-latency-injection.md) AWS Fault Injection Service per eseguire esperimenti controllati per testare l'architettura e il monitoraggio in base a questa metrica per migliorare la resilienza al degrado delle prestazioni di storage.

Se la I/O latenza è superiore a quella richiesta, assicurati che l'applicazione non stia cercando di generare più IOPS o velocità effettiva di quelli previsti per il volume. Puoi utilizzare le `VolumeAvgThroughput` metriche `VolumeAvgIOPS` and per monitorare gli IOPS medi e il throughput associati al volume in un minuto, quindi confrontarli con gli IOPS e il throughput assegnati dal volume. Se il volume non esegue alcuna operazione durante il minuto, le metriche riporteranno un valore pari a zero (). `0` Se si verificano picchi di IOPS o di throughput elevati per un periodo di tempo inferiore all'intervallo di minuti, si verifica un microbursting nel volume, ma le metriche di IOPS e throughput medi potrebbero indicare che le prestazioni sono inferiori rispetto ai limiti di IOPS o di throughput previsti per il volume. Per determinare se il volume registra aumenti di prestazioni in un determinato minuto, puoi utilizzare le metriche and. `VolumeIOPSExceededCheck` `VolumeThroughputExceededCheck` Puoi monitorare queste metriche per determinare se il tuo carico di lavoro ha costantemente cercato di incrementare gli IOPS o un throughput superiore alle prestazioni assegnate dal volume in un determinato minuto. Se gli IOPS generati per ogni secondo nell'arco di un minuto superano costantemente le prestazioni IOPS assegnate dal volume, la metrica viene restituita. `VolumeIOPSExceededCheck` `1` Se il throughput generato per ogni secondo nell'arco di un minuto supera costantemente le prestazioni di throughput assegnate dal volume, la metrica viene restituita. `VolumeThroughputExceededCheck` `1` Se gli IOPS e il throughput determinati rientrano nelle prestazioni assegnate dal volume, le metriche vengono restituite. `0`

Se la tua applicazione richiede un numero di IOPS maggiore di quello che il volume può fornire, valuta la possibilità di utilizzare una delle seguenti soluzioni:
+ Un volume `gp3`, `io2` o `io1` fornito con un numero di IOPS sufficiente per raggiungere la latenza richiesta
+ Un volume `gp2` più grande che fornisce prestazioni IOPS di base sufficienti

I `sc1` volumi `st1` e i supporti su HDD sono progettati per offrire le migliori prestazioni con carichi di lavoro che sfruttano la dimensione massima di 1.024 KB. I/O Per determinare la I/O dimensione media del volume, dividi per. `VolumeWriteBytes` `VolumeWriteOps` Lo stesso calcolo si applica alle operazioni in lettura. Se la I/O dimensione media è inferiore a 64 KB, l'aumento delle dimensioni delle I/O operazioni inviate a un `sc1` volume `st1` or dovrebbe migliorare le prestazioni.

**Monitora il bilanciamento del burst bucket per `gp2` e `st1` i volumi `sc1`**  
`BurstBalance` mostra il saldo del bucket continuo per i volumi `gp2`, `st1` e `sc1` in termini di percentuale del saldo rimanente. Quando il burst bucket è esaurito, il volume (per i `gp2` volumi) o la velocità effettiva del volume I/O (per i volumi) vengono `sc1` limitati ai valori di `st1` base. Controlla il valore `BurstBalance` per determinare se il volume è limitato per questo motivo. Per un elenco completo dei parametri di Amazon EBS disponibili, consulta i parametri di [CloudWatch Parametri Amazon per Amazon EBS](using_cloudwatch_ebs.md) [Amazon EBS per le istanze basate su Nitro](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html#ebs-metrics-nitro).

## I/O Monitora le statistiche sulle prestazioni in tempo
<a name="monitor-io-nvme"></a>

Puoi accedere a statistiche dettagliate sulle prestazioni in tempo reale per i volumi Amazon EBS collegati a istanze Amazon EC2 basate su Nitro.

Puoi combinare queste statistiche per ricavare latenza media e IOPS o per verificare se le operazioni sono completate. I/O Puoi anche visualizzare il periodo di tempo totale in cui l'applicazione ha superato i limiti di IOPS o di throughput assegnati al volume EBS o all'istanza collegata. Monitorando gli aumenti di queste statistiche nel tempo, puoi determinare se è necessario aumentare gli IOPS assegnati o i limiti di throughput per ottimizzare le prestazioni dell'applicazione. Le statistiche dettagliate sulle prestazioni includono anche istogrammi per I/O le operazioni di lettura e scrittura, che forniscono una distribuzione della I/O latenza tenendo traccia del numero totale di I/O operazioni completate all'interno di una banda di latenza.

Per ulteriori informazioni, consulta [Statistiche dettagliate sulle prestazioni di Amazon EBS](nvme-detailed-performance-stats.md).

## Risorse correlate
<a name="ebs-io-resources"></a>

Per ulteriori informazioni sulle I/O caratteristiche di Amazon EBS, consulta la seguente presentazione di re:Invent: [Amazon EBS](https://www.youtube.com/watch?v=2wKgha8CZ_w): Designing for Performance.

# Amazon EBS e configurazione RAID
<a name="raid-config"></a>

Con Amazon EBS, puoi utilizzare qualsiasi configurazione RAID standard disponibile per un server Bare Metal tradizionale, a condizione che la configurazione RAID specifica sia supportata dal sistema operativo dell'istanza in uso. Ciò è dovuto al fatto che RAID viene implementato a livello di software. 

I dati dei volumi Amazon EBS vengono replicati tra più server in una zona di disponibilità per impedire la perdita dei dati in caso di errore di uno qualsiasi dei componenti. Questa replica rende i volumi Amazon EBS dieci volte più affidabili rispetto alle unità disco standard in commercio. Per ulteriori informazioni, consulta le [caratteristiche di Amazon EBS.](https://aws.amazon.com/ebs/features/)

**Topics**
+ [Opzioni di configurazione RAID](#raid-config-options)
+ [Crea un array RAID 0](#create-raid-array)
+ [Creazione di snapshot di volumi in una matrice RAID](#ebs-snapshots-raid-array)

## Opzioni di configurazione RAID
<a name="raid-config-options"></a>

La creazione di una matrice RAID 0 consente di ottenere un livello superiore di prestazioni per un file system di cui puoi eseguire il provisioning su un singolo volume Amazon EBS. Usa RAID 0 quando I/O le prestazioni sono della massima importanza. Con RAID 0, I/O è distribuito tra i volumi in uno stripe. Se aggiungi un volume, ottieni la semplice aggiunta di throughput e IOPS. Tuttavia, tieni presente che le prestazioni dello stripe sono limitate al volume con prestazioni peggiori nel set e che la perdita di un singolo volume nel set comporta una perdita completa di dati per l'array.

Le dimensioni risultanti di una matrice RAID 0 sono date dalla somma delle dimensioni dei volumi al suo interno, mentre la larghezza di banda è data dalla somma delle larghezze di banda dei volumi disponibili al suo interno. Ad esempio, due `io1` volumi da 500 GiB con 4.000 IOPS assegnati ciascuno creano un array RAID 0 da 1.000 GiB con una larghezza di banda disponibile di 8.000 IOPS e 1.000 di throughput. MiB/s 

**Importante**  
RAID 5 e RAID 6 non sono consigliati per Amazon EBS perché le operazioni di scrittura della parità di queste modalità RAID consumano parte delle operazioni di I/O al secondo (IOPS) disponibili per i volumi. A seconda della configurazione della matrice RAID, queste modalità RAID forniscono il 20-30% di operazioni di IOPS al secondo usabili in meno rispetto a una configurazione RAID 0. I maggiori costi rappresentano inoltre un'altra caratteristica di queste modalità RAID. A parità di dimensioni e velocità dei volumi, una matrice RAID 0 a due volumi può avere prestazioni superiori a quelle di una matrice RAID 6 A 4 volumi che costa il doppio.  
Inoltre, RAID 1 non è raccomandato per l'uso con Amazon EBS. Il RAID 1 richiede una maggiore larghezza di banda da Amazon EC2 ad Amazon EBS rispetto alle configurazioni non RAID perché i dati vengono scritti su più volumi contemporaneamente. Inoltre, RAID 1 non fornisce alcun miglioramento delle prestazioni di scrittura. 

## Crea un array RAID 0
<a name="create-raid-array"></a>

Per creare una matrice RAID 0, utilizza la procedura seguente.

**Considerazioni**
+ Prima di eseguire questa procedura, è necessario decidere le dimensioni dell'array RAID 0 e il numero di IOPS da fornire.
+ Creare volumi con valori di dimensioni e prestazioni IOPS identici per la matrice. Assicurati di non creare un array che superi la larghezza di banda disponibile dell'istanza. EC2 
+ Ti consigliamo di evitare di eseguire l'avvio da un volume RAID. Se uno dei dispositivi si guasta, potresti non essere in grado di avviare il sistema operativo.

### Istanze Linux
<a name="create-raid-array-linux"></a>

**Come creare una matrice RAID 0 su Linux**

1. Creare i volumi Amazon EBS per la matrice. Per ulteriori informazioni, consulta [Creazione di un volume Amazon EBS](ebs-creating-volume.md).

1. Collegare i volumi Amazon EBS all'istanza in cui si desidera ospitare la matrice. Per ulteriori informazioni, consulta [Collega un volume Amazon EBS a un'istanza Amazon EC2](ebs-attaching-volume.md).

1. Utilizzare il comando **mdadm** per creare un dispositivo RAID logico dai volumi Amazon EBS appena collegati. Sostituite con il numero di volumi dell'array *number\$1of\$1volumes* e i nomi dei dispositivi per ogni volume dell'array (ad esempio `/dev/xvdf`*device\$1name*). È inoltre possibile sostituire l'*MY\$1RAID*array con il proprio nome univoco.
**Nota**  
È possibile elencare i dispositivi presenti nell'istanza mediante il comando **lsblk** per trovare i nomi dei dispositivi.

   Per creare una matrice RAID 0, emetti il seguente comando (nota l'opzione `--level=0` per lo striping della matrice):

   ```
   [ec2-user ~]$ sudo mdadm --create --verbose /dev/md0 --level=0 --name=MY_RAID --raid-devices=number_of_volumes device_name1 device_name2
   ```
**Suggerimento**  
Se ricevi l'errore `mdadm: command not found`, usa il seguente comando per installare mdadm: `sudo yum install mdadm`.

1.  Attendere l'inizializzazione e la sincronizzazione della matrice RAID. È possibile tenere traccia dell'avanzamento di queste operazioni con il comando seguente:

   ```
   [ec2-user ~]$ sudo cat /proc/mdstat
   ```

   Di seguito è riportato un output di esempio:

   ```
   Personalities : [raid0]
   md0 : active raid0 xvdc[1] xvdb[0]
         41910272 blocks super 1.2 512k chunks
   
   unused devices: <none>
   ```

   In generale, è possibile visualizzare informazioni dettagliate sulla matrice RAID con il seguente comando:

   ```
   [ec2-user ~]$ sudo mdadm --detail /dev/md0
   ```

   Di seguito è riportato un output di esempio:

   ```
   /dev/md0:
              Version : 1.2
        Creation Time : Wed May 19 11:12:56 2021
           Raid Level : raid0
           Array Size : 41910272 (39.97 GiB 42.92 GB)
         Raid Devices : 2
        Total Devices : 2
          Persistence : Superblock is persistent
   
          Update Time : Wed May 19 11:12:56 2021
                State : clean
       Active Devices : 2
      Working Devices : 2
       Failed Devices : 0
        Spare Devices : 0
   
           Chunk Size : 512K
   
   Consistency Policy : none
   
                 Name : MY_RAID
                 UUID : 646aa723:db31bbc7:13c43daf:d5c51e0c
               Events : 0
   
       Number   Major   Minor   RaidDevice State
          0     202       16        0      active sync   /dev/sdb
          1     202       32        1      active sync   /dev/sdc
   ```

1. Creare un file system sulla matrice RAID e associare a tale file system un'etichetta da utilizzare quando viene montato in un secondo momento. Ad esempio, per creare un file system ext4 con l'etichetta*MY\$1RAID*, esegui il comando seguente:

   ```
   [ec2-user ~]$ sudo mkfs.ext4 -L MY_RAID /dev/md0
   ```

   A seconda dei requisiti dell'applicazione o dei limiti del sistema operativo in uso, è possibile utilizzare un tipo di file system diverso, ad esempio ext3 o XFS (consultare la documentazione del file system in uso per informazioni sul comando di creazione del file system corrispondente).

1. Per garantire il riassemblaggio automatico dell'array RAID all'avvio, creare un file di configurazione contenente le informazioni RAID:

   ```
   [ec2-user ~]$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf
   ```
**Nota**  
Se si utilizza una distribuzione Linux diversa da Amazon Linux, potrebbe essere necessario modificare questo comando. Ad esempio, potresti dover posizionare il file in una posizione diversa, oppure potresti dover aggiungere il parametro `--examine`. Per ulteriori informazioni, esegui **man mdadm.conf** sulla tua istanza Linux.

1. Creare una nuova immagine ramdisk per precaricare correttamente i moduli del dispositivo a blocchi per la nuova configurazione RAID:

   ```
   [ec2-user ~]$ sudo dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
   ```

1. Creare un punto di montaggio per la matrice RAID.

   ```
   [ec2-user ~]$ sudo mkdir -p /mnt/raid
   ```

1. Montare infine il dispositivo RAID sul punto di montaggio creato:

   ```
   [ec2-user ~]$ sudo mount LABEL=MY_RAID /mnt/raid
   ```

   A questo punto il dispositivo RAID è pronto all'uso.

1. (Opzionale) Per montare questo volume Amazon EBS a ogni riavvio del sistema, aggiungere una voce per il dispositivo al file `/etc/fstab`.

   1. Creare una copia di backup del file `/etc/fstab` che sarà possibile utilizzare in caso di eliminazione definitiva o cancellazione per errore di questo file durante la sua modifica.

      ```
      [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
      ```

   1. Aprire il file `/etc/fstab` utilizzando l'editor di testo preferito (ad esempio **nano** o **vim**).

   1. Commentare le righe che iniziano con "`UUID=`" e alla fine del file aggiungere una nuova riga per il volume RAID in uso utilizzando il formato seguente:

      ```
      device_label mount_point file_system_type fs_mntops fs_freq fs_passno
      ```

      Gli ultimi tre campi su questa riga fanno riferimento alle opzioni di montaggio del file system, alla frequenza di dumping del file system e all'ordine dei controlli del file system eseguiti in fase di avvio. Se non sai quali dovrebbero essere questi valori, usa i valori riportati nell'esempio seguente (`defaults,nofail 0 2)`. Per ulteriori informazioni sui valori `/etc/fstab`, consulta la pagina di manuale **fstab** (inserendo **man fstab** nella riga di comando). Ad esempio, per montare il file system ext4 sul dispositivo con etichetta MY\$1RAID nel punto di montaggio `/mnt/raid`, aggiungere la seguente voce a `/etc/fstab`.
**Nota**  
Se si intende avviare l'istanza senza questo volume collegato (ad esempio, se questo volume si sposta tra istanze diverse), è consigliabile aggiungere l'opzione di montaggio `nofail`, che consente l'avvio dell'istanza anche in presenza di errori durante il montaggio del volume. Per le distribuzioni derivate Debian, ad esempio Ubuntu, è necessario aggiungere anche l'opzione di montaggio `nobootwait`.

      ```
      LABEL=MY_RAID       /mnt/raid   ext4    defaults,nofail        0       2
      ```

   1. Dopo aver aggiunto una nuova voce a `/etc/fstab`, è necessario verificarne il corretto funzionamento. Eseguire il comando **sudo mount -a** per montare tutti i file system in `/etc/fstab`.

      ```
      [ec2-user ~]$ sudo mount -a
      ```

      Se il precedente comando non genera un errore, significa che il file `/etc/fstab` funziona correttamente e che il file system verrà montato automaticamente al successivo avvio. Se invece il comando restituisce errori, esaminare gli errori e cercare di correggere il file `/etc/fstab`.
**avvertimento**  
Gli errori del file `/etc/fstab` potrebbero rendere non avviabile un sistema. Non arrestare un sistema contenente errori nel file `/etc/fstab`.

   1. (Opzionale) In caso di dubbi sulle modalità di correzione degli errori del file `/etc/fstab`, è sempre possibile procedere al ripristino della copia di backup del file `/etc/fstab` utilizzando il seguente comando.

      ```
      [ec2-user ~]$ sudo mv /etc/fstab.orig /etc/fstab
      ```

### Istanze Windows
<a name="create-raid-array-windows"></a>

**Per creare una matrice RAID 0 su Windows**

1. Creare i volumi Amazon EBS per la matrice. Per ulteriori informazioni, consulta [Creazione di un volume Amazon EBS](ebs-creating-volume.md).

1. Collegare i volumi Amazon EBS all'istanza in cui si desidera ospitare la matrice. Per ulteriori informazioni, consulta [Collega un volume Amazon EBS a un'istanza Amazon EC2](ebs-attaching-volume.md).

1. Connettersi all'istanza Windows. Per ulteriori informazioni, consulta [Connessione all'istanza Windows](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html).

1. Aprire un prompt dei comandi e digitare il comando **diskpart**.

   ```
   diskpart
   
   Microsoft DiskPart version 6.1.7601
   Copyright (C) 1999-2008 Microsoft Corporation.
   On computer: WIN-BM6QPPL51CO
   ```

1. Al prompt `DISKPART` visualizzare l'elenco di dischi disponibili utilizzando il seguente comando.

   ```
   DISKPART> list disk
   
     Disk ###  Status         Size     Free     Dyn  Gpt
     --------  -------------  -------  -------  ---  ---
     Disk 0    Online           30 GB      0 B
     Disk 1    Online            8 GB      0 B
     Disk 2    Online            8 GB      0 B
   ```

   Individuare i dischi che si desidera utilizzare nella matrice e annotare il relativo numero.

1. <a name="windows_raid_disk_step"></a>Ogni disco che si desidera utilizzare nella matrice deve essere un disco dinamico online non contenente volumi esistenti. Utilizzare le fasi seguenti per convertire i dischi di base in dischi dinamici ed eliminare i volumi esistenti.

   1. Selezionate il disco che desiderate utilizzare nell'array con il seguente comando, sostituendolo *n* con il numero del disco.

      ```
      DISKPART> select disk n
      
      Disk n is now the selected disk.
      ```

   1. Se il disco selezionato è visualizzato come disco con stato `Offline`, portarlo online eseguendo il comando **online disk**.

   1. Se il disco selezionato non è associato a un asterisco nella colonna `Dyn` nell'output del precedente comando **list disk**, è necessario convertirlo in un disco dinamico.

      ```
      DISKPART> convert dynamic
      ```
**Nota**  
Se viene visualizzato un errore indicante che il disco è protetto da scrittura, è possibile cancellare il flag di sola lettura con il comando **ATTRIBUTE DISK CLEAR READONLY** e quindi tentare di nuovo la conversione in disco dinamico.

   1. Utilizzare il comando **detail disk** per verificare la presenza di volumi esistenti sul disco selezionato.

      ```
      DISKPART> detail disk
      
      XENSRC PVDISK SCSI Disk Device
      Disk ID: 2D8BF659
      Type   : SCSI
      Status : Online
      Path   : 0
      Target : 1
      LUN ID : 0
      Location Path : PCIROOT(0)#PCI(0300)#SCSI(P00T01L00)
      Current Read-only State : No
      Read-only  : No
      Boot Disk  : No
      Pagefile Disk  : No
      Hibernation File Disk  : No
      Crashdump Disk  : No
      Clustered Disk  : No
      
        Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
        ----------  ---  -----------  -----  ----------  -------  ---------  --------
        Volume 2     D   NEW VOLUME   FAT32  Simple      8189 MB  Healthy
      ```

      Annotare i numeri di volume sul disco. In questo esempio, il numero di volume è 2. Se non sono presenti volumi, è possibile ignorare questa fase.

   1. (Obbligatorio solo se i volumi sono stati identificati nella fase precedente) Selezionare ed eliminare eventuali volumi esistenti su disco identificati nella fase precedente.
**avvertimento**  
In questo modo verranno eliminati definitivamente i dati esistenti sul volume. 

      1. Seleziona il volume, sostituendolo *n* con il tuo numero di volume.

         ```
         DISKPART> select volume n
         Volume n is the selected volume.
         ```

      1. Eliminare il volume.

         ```
         DISKPART> delete volume
         
         DiskPart successfully deleted the volume.
         ```

      1. Ripetere queste fasi secondarie per ogni volume da eliminare sul disco selezionato.

   1. Ripetere [Step 6](#windows_raid_disk_step) per ogni disco che si desidera utilizzare nella matrice.

1. Verificare che i dischi che si desidera utilizzare ora siano dischi dinamici. In questo caso, stiamo usando i dischi 1 e 2 per il volume RAID.

   ```
   DISKPART> list disk
   
     Disk ###  Status         Size     Free     Dyn  Gpt
     --------  -------------  -------  -------  ---  ---
     Disk 0    Online           30 GB      0 B
     Disk 1    Online            8 GB      0 B   *
     Disk 2    Online            8 GB      0 B   *
   ```

1. Creare la matrice RAID. Su Windows, un volume RAID 0 viene definito volume con striping.

   Per creare una matrice di volumi con striping sui dischi 1 e 2, utilizza il seguente comando (nota l'opzione `stripe` per eseguire lo striping della matrice):

   ```
   DISKPART> create volume stripe disk=1,2
   DiskPart successfully created the volume.
   ```

1. Verificare il nuovo volume.

   ```
   DISKPART> list volume
   
     DISKPART> list volume
   
     Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
     ----------  ---  -----------  -----  ----------  -------  ---------  --------
     Volume 0     C                NTFS   Partition     29 GB  Healthy    System
     Volume 1                      RAW    Stripe        15 GB  Healthy
   ```

   Nota che la colonna `Type` ora indica che il volume 1 è un volume `stripe`.

1. Selezionare e formattare il volume in modo da iniziare a utilizzarlo ora.

   1. Seleziona il volume che desideri formattare, sostituendolo *n* con il numero del volume.

      ```
      DISKPART> select volume n
      
      Volume n is the selected volume.
      ```

   1. Formattare il volume.
**Nota**  
Per eseguire una formattazione completa, omettere l'opzione `quick`.

      ```
      DISKPART> format quick recommended label="My new volume"
      
        100 percent completed
      
      DiskPart successfully formatted the volume.
      ```

   1. Assegnare una lettera di unità disponibile al volume.

      ```
      DISKPART> assign letter f
      
      DiskPart successfully assigned the drive letter or mount point.
      ```

   Il nuovo volume è ora pronto per l'uso.

## Creazione di snapshot di volumi in una matrice RAID
<a name="ebs-snapshots-raid-array"></a>

Per eseguire il backup dei dati dei volumi EBS in una matrice RAID utilizzando gli snapshot, devi assicurarti che gli snapshot siano coerenti. Ciò è necessario perché gli snapshot di questi volumi vengono creati in modo indipendente. Il ripristino di volumi EBS in una matrice RAID utilizzando snapshot non sincronizzati potrebbe compromettere l'integrità della matrice stessa.

Per creare un set coerente di snapshot per la matrice RAID, utilizzare [Snapshot a più volumi EBS](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSnapshots.html). Le istantanee a più volumi consentono di scattare istantanee coordinate con i dati e coerenti con gli arresti anomali su più volumi EBS collegati a un'istanza. point-in-time EC2 Non è più necessario interrompere l'istanza per coordinare le operazioni tra i volumi in modo da garantire la coerenza, perché gli snapshot vengono generati automaticamente tra più volumi EBS. Per ulteriori informazioni, consulta la procedura per la creazione di snapshot multi-volume in Create [Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-creating-snapshot.html) snapshot.

# Effettua il benchmark dei volumi Amazon EBS
<a name="benchmark_procedures"></a>

Puoi testare le prestazioni dei volumi Amazon EBS simulando I/O i carichi di lavoro. Di seguito è riportato il procedimento:

1. Avviare un'istanza ottimizzata per EBS.

1. Creare nuovi volumi EBS.

1. Collegare il volume all'istanza ottimizzata per EBS.

1. Configurare e montare il dispositivo a blocchi.

1. Installa uno strumento per confrontare le prestazioni. I/O 

1. Effettua il benchmark I/O delle prestazioni dei tuoi volumi.

1. Eliminare i volumi e terminare l'istanza per non incorrere in ulteriori addebiti.

**Importante**  
Alcune delle procedure comporteranno la distruzione dei dati esistenti sui volumi EBS di cui si esegue il benchmarking. Le procedure di benchmarking si devono utilizzare su volumi appositamente creati a scopo di test, non su volumi di produzione.

## Configurare un'istanza
<a name="set_up_instance"></a>

Per ottenere prestazioni ottimali dai volumi EBS, ti consigliamo di utilizzare un'istanza ottimizzata per EBS. Le istanze ottimizzate per EBS distribuiscono una larghezza di banda dedicata tra Amazon EC2 ed Amazon EBS, con specifiche a seconda del tipo di istanza.

Per creare un'istanza ottimizzata per EBS, scegli **Launch come istanza ottimizzata per EBS quando avvii l'istanza** utilizzando la console Amazon EC2 oppure specifica quando usi la riga di comando. **--ebs-optimized** Assicurati di selezionare un tipo di istanza che supporti questa opzione.

### Impostazione dei volumi SSD con capacità di IOPS allocata o SSD per uso generale
<a name="setupPIOPS"></a>

Per creare volumi SSD con capacità di IOPS allocata (`io1` e `io2`) o SSD per uso generale (`gp2` e `gp3`) utilizzando la console Amazon EC2, per **Tipo di volume** scegli **SSD con capacità di IOPS allocata (io1)**, **SSD con capacità di IOPS allocata (io2)**, **SSD per uso generale (gp2)** o **SSD per uso generale (gp3)**. Nella riga di comando specifica `io1`, `io2`, `gp2` o `gp3` per il parametro **--volume-type**. Per `io1``io2`, e `gp3` volumi, specificate il numero di I/O operazioni al secondo (IOPS) per il **--iops** parametro. Per ulteriori informazioni, consultare [Tipi di volume Amazon EBS](ebs-volume-types.md) e [Creazione di un volume Amazon EBS](ebs-creating-volume.md).

(*Solo istanze Linux*) Per i test di esempio, si consiglia di creare un array RAID 0 con 6 volumi, che offra un elevato livello di prestazioni. Dato che verranno addebitati i gigabyte assegnati (e il valore di capacità di IOPS allocata per i volumi io1, io2 e gp3) e non il numero dei volumi, non ci sono costi aggiuntivi se si creano più volumi di minori dimensioni e li si utilizza per creare un set di striping. Se utilizzato per il benchmarking dei volumi, Oracle Orion può simulare lo striping allo stesso modo di Oracle ASM, perciò ti consigliamo di lasciare che sia Orion a eseguire lo striping. Se utilizzi uno strumento diverso per il benchmarking, devi eseguire lo striping dei volumi autonomamente.

Per ulteriori informazioni su come creare un array RAID 0, vedere[Crea un array RAID 0](raid-config.md#create-raid-array).

### Configurare volumi HDD ottimizzati per la velocità effettiva (`st1`) o HDD Cold (`sc1`)
<a name="set_up_hdd"></a>

Per creare un volume `st1`, scegliere **Throughput Optimized HDD** quando si utilizza la console Amazon EC2 oppure specificare **--type `st1`** se si utilizza la riga di comando. Per creare un volume `sc1`, scegli Cold HDD quando utilizzi la console Amazon EC2 oppure specifica **--type `sc1`** se utilizzi la riga di comando. Per informazioni sulla creazione dei volumi EBS, consulta [Creazione di un volume Amazon EBS](ebs-creating-volume.md). Per informazioni sul collegamento di questi volumi alla tua istanza, consulta [Collega un volume Amazon EBS a un'istanza Amazon EC2](ebs-attaching-volume.md).

(*Solo istanze Linux*) AWS fornisce un modello JSON da utilizzare con CloudFormation che semplifica questa procedura di configurazione. Accedere al [modello](https://s3.amazonaws.com/cloudformation-examples/community/st1_cloudformation_template.json) e salvarlo come file JSON. CloudFormation consente di configurare le proprie chiavi SSH e offre un modo più semplice per configurare un ambiente di test delle prestazioni per valutare `st1` i volumi. Il modello crea un'istanza della generazione corrente e un volume `st1` da 2 TiB e collega il volume all'istanza su `/dev/xvdf`. 

**(*Solo istanze Linux*) Per creare un volume HDD utilizzando il modello**

1. [Apri la CloudFormation console in https://console.aws.amazon.com /cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. Scegli **Create Stack** (Crea stack).

1. Scegliere **Upload a Template to Amazon S3 (Carica un modello su Amazon S3)** e selezionare il modello JSON ottenuto in precedenza.

1. Assegna al tuo stack un nome come «ebs-perf-testing» e seleziona un tipo di istanza (l'impostazione predefinita è r3.8xlarge) e una chiave SSH.

1. Scegliere due volte **Next (Avanti)**, quindi selezionare **Create Stack (Crea stack)**.

1. Quando lo stato della nuova pila passa da **CREATE\$1IN\$1PROGRESS** e **COMPLETE**, scegli **Outputs** (Output) per ottenere la voce DNS pubblica per la nuova istanza, a cui sarà collegato a un volume `st1` da 2 TiB.

1. Eseguire la connessione al nuovo stack usando SSH come utente **ec2-user**, con l'hostname ottenuto dalla voce DNS nella fase precedente. 

1. Passa a [Installare strumenti di benchmarking](#install_tools).

## Installare strumenti di benchmarking
<a name="install_tools"></a>

Le tabelle seguenti elencano alcuni dei possibili strumenti che puoi utilizzare per confrontare le prestazioni dei volumi EBS.

### Istanze Linux
<a name="install_tools-linux"></a>


| Strumento | Descrizione | 
| --- | --- | 
|  fio  |  Per il benchmarking delle prestazioni I/O . (Tenere presente che **fio** ha una dipendenza su `libaio-devel`) Per installare **fio** su Amazon Linux, eseguire questo comando: <pre>$ sudo yum install -y fio</pre> Per installare **fio** su Ubuntu, eseguire questo comando: <pre>sudo apt-get install -y fio</pre>  | 
|  [Strumento di calibrazione Oracle Orion](https://docs.oracle.com/cd/E18283_01/server.112/e16638/iodesign.htm#BABFCFBC)  |  Per calibrare I/O le prestazioni dei sistemi di storage da utilizzare con i database Oracle.  | 

### Istanze Windows
<a name="install_tools-windows"></a>


| Strumento | Description | 
| --- | --- | 
| [DiskSpd](https://github.com/microsoft/diskspd/releases) | DiskSpd è uno strumento per le prestazioni di archiviazione creato dai team di progettazione di Windows, Windows Server e Cloud Server Infrastructure di Microsoft. È disponibile per il download all'indirizzo [https://github.com/Microsoft/diskspd/releases](https://github.com/Microsoft/diskspd/releases). Dopo aver scaricato il file `diskspd.exe` eseguibile, aprire un prompt dei comandi con diritti amministrativi (scegliendo "Esegui come amministratore"), quindi passare alla directory in cui è stato copiato il file `diskspd.exe`.  Copiare il file eseguibile `diskspd.exe` desiderato dalla cartella eseguibile appropriata (`amd64fre`, `armfre` o `x86fre)` in un percorso breve e semplice come `C:\DiskSpd`. Nella maggior parte dei casi si desidera la versione a 64 bit di DiskSpd dalla cartella. `amd64fre`  Il codice sorgente di DiskSpd è ospitato GitHub su: [https://github.com/Microsoft/diskspd](https://github.com/Microsoft/diskspd). | 
|  CrystalDiskMark  | CrystalDiskMark è un semplice software di benchmark del disco. È disponibile per il download all'indirizzo [https://crystalmark. info/en/software/crystaldiskmark](https://crystalmark.info/en/software/crystaldiskmark/)/. | 

Questi strumenti per il benchmarking supportano un'ampia varietà di parametri di test. Devi utilizzare comandi aderenti ai carichi di lavoro che i volumi possono supportare. I comandi mostrati di seguito sono esempi per aiutarti a iniziare.

## Scegliere la lunghezza della coda del volume
<a name="UnderstandingQueueLength"></a>

Scegliere la migliore lunghezza della coda del volume in base al carico di lavoro e al tipo di volume.

### Lunghezza della coda nei volumi SSD
<a name="SSD_queue"></a>

Per determinare la lunghezza ottimale della coda per il carico di lavoro sui volumi SSD, consigliamo di indicare una lunghezza della coda di 1 ogni 1000 IOPS disponibili (baseline per i volumi SSD per uso generale e quantità assegnata per i volumi SSD con capacità di IOPS allocata). Si possono quindi monitorare le prestazioni della tua applicazione e regolare il valore in base ai requisiti dell'applicazione.

Aumentare la lunghezza della coda è vantaggioso fino al raggiungimento del valore della capacità di IOPS allocata, della velocità di trasmissione effettiva o della lunghezza di coda ottimale del sistema, attualmente impostato su 32. Ad esempio, un volume con capacità di IOPS allocata di 3.000 IOPS deve indicare una lunghezza della coda di 3. Devi provare a regolare verso l'alto o verso il basso questi valori per trovare quelli che hanno le prestazioni migliori per la tua applicazione.

### Lunghezza della coda nei volumi HDD
<a name="HDD_queue"></a>

Per determinare la lunghezza della coda ottimale per il carico di lavoro sui volumi HDD, ti consigliamo di indicare una lunghezza della coda di almeno 4 mentre esegui almeno 1 MiB di I/O sequenziali. Si possono quindi monitorare le prestazioni della tua applicazione e regolare il valore in base ai requisiti dell'applicazione. Ad esempio, un `st1` volume da 2 TiB con throughput burst di 500 MiB/s e IOPS di 500 dovrebbe avere come target una lunghezza della coda di 4, 8 o 16 mentre esegue rispettivamente 1.024 KiB, 512 KiB o 256 KiB in sequenza. I/Os Devi provare a regolare verso l'alto o verso il basso questi valori per trovare quelli che hanno le prestazioni migliori per la tua applicazione.

## Disabilitazione degli stati C
<a name="cstates"></a>

Prima di eseguire il benchmarking, devi disabilitare gli stati C del processore. I core temporaneamente inattivi in una CPU supportata possono attivare uno stato C per risparmiare energia. Quando il core viene chiamato per riprendere l'elaborazione, passa un determinato lasso di tempo perché diventi pienamente operativo. Questa latenza può interferire con le routine di benchmarking del processore. Per ulteriori informazioni sugli stati C e sui tipi di istanze EC2 che li supportano, consulta [Controllo degli stati del processore dell'istanza EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html).

### Istanze Linux
<a name="cstates-linux"></a>

Puoi disabilitare gli stati C su Amazon Linux, RHEL e CentOS nel modo seguente:

1. Ottenere il numero di stati C.

   ```
   $ cpupower idle-info | grep "Number of idle states:"
   ```

1. Disabilitare gli stati C da c1 a cN. Idealmente, i core dovrebbero essere nello stato c0.

   ```
   $ for i in `seq 1 $((N-1))`; do cpupower idle-set -d $i; done
   ```

### Istanze Windows
<a name="cstates-windows"></a>

Puoi disabilitare gli stati C in Windows nel modo seguente:

1. Inserisci l'attuale schema di potenza PowerShell attiva.

   ```
   $current_scheme = powercfg /getactivescheme
   ```

1. Acquisire il GUID della combinazione per il risparmio di energia.

   ```
   (Get-WmiObject -class Win32_PowerPlan -Namespace "root\cimv2\power" -Filter "ElementName='High performance'").InstanceID          
   ```

1. Ottenere il GUID dell'impostazione per il risparmio di energia.

   ```
   (Get-WmiObject -class Win32_PowerSetting -Namespace "root\cimv2\power" -Filter "ElementName='Processor idle disable'").InstanceID                  
   ```

1. Ottenere il GUID di un sottogruppo di impostazioni per il risparmio di energia.

   ```
   (Get-WmiObject -class Win32_PowerSettingSubgroup -Namespace "root\cimv2\power" -Filter "ElementName='Processor power management'").InstanceID
   ```

1. Disabilitare gli stati C impostando il valore dell'indice su 1. Il valore 0 indica che gli stati C sono disabilitati.

   ```
   powercfg /setacvalueindex <power_scheme_guid> <power_setting_subgroup_guid> <power_setting_guid> 1
   ```

1. Impostare la combinazione attiva per assicurarsi che le impostazioni vengano salvate.

   ```
   powercfg /setactive <power_scheme_guid>
   ```

## Esecuzione del benchmarking
<a name="perform_benchmarking"></a>

Le procedure seguenti descrivono i comandi di benchmarking per i diversi tipi di volume EBS. 

Esegui il comando seguente su un'istanza ottimizzata per EBS con volumi EBS collegati. Se i volumi EBS sono creati da snapshot, ricorda di inizializzarli prima di eseguire il valore di riferimento. Per ulteriori informazioni, consulta [Inizializza manualmente i volumi dopo la creazione](initalize-volume.md#ebs-initialize).

**Suggerimento**  
Puoi utilizzare gli istogrammi di I/O latenza forniti dalle statistiche dettagliate sulle prestazioni di EBS per confrontare la distribuzione delle I/O prestazioni nei test di benchmarking. Per ulteriori informazioni, consulta [Statistiche dettagliate sulle prestazioni di Amazon EBS](nvme-detailed-performance-stats.md).

[Quando hai finito di testare i volumi, consulta i seguenti argomenti per aiutarti a ripulire: [Eliminazione di un volume Amazon EBS](ebs-deleting-volume.md) e Termina l'istanza.](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html)

### Benchmark dei volumi SSD con capacità di IOPS allocata e SSD per uso generale
<a name="piops_benchmarking"></a>

#### Istanze Linux
<a name="piops_benchmarking-linux"></a>

Eseguire **fio** sull'array RAID 0 creato.

Il seguente comando esegue 16 KB di operazioni di scrittura casuali.

```
$ sudo fio --directory=/mnt/p_iops_vol0 --ioengine=psync --name fio_test_file --direct=1 --rw=randwrite --bs=16k --size=1G --numjobs=16 --time_based --runtime=180 --group_reporting --norandommap
```

Il seguente comando esegue 16 KB di operazioni di lettura casuali.

```
$ sudo fio --directory=/mnt/p_iops_vol0 --name fio_test_file --direct=1 --rw=randread --bs=16k --size=1G --numjobs=16 --time_based --runtime=180 --group_reporting --norandommap 
```

Per ulteriori informazioni sull'interpretazione dei risultati, consulta il tutorial: [Inspecting disk IO performance with fio (Ispezione delle prestazione IO del disco con fio)](https://www.linux.com/training-tutorials/inspecting-disk-io-performance-fio/).

#### Istanze Windows
<a name="piops_benchmarking-windows"></a>

Eseguire **DiskSpd** sul volume creato.

Il comando seguente eseguirà un I/O test casuale di 30 secondi utilizzando un file di test da 20 GB situato sull'`C:`unità, con un rapporto di scrittura del 25% e di lettura del 75% e una dimensione del blocco di 8K. Userà otto thread di lavoro, ciascuno con quattro I/O in sospeso e un seed di valore di entropia di scrittura di 1 GB. I risultati del test verranno salvati in un file di testo chiamato `DiskSpeedResults.txt`. Questi parametri simulano un carico di lavoro OLTP di SQL Server.

```
diskspd -b8K -d30 -o4 -t8 -h -r -w25 -L -Z1G -c20G C:\iotest.dat > DiskSpeedResults.txt
```

Per ulteriori informazioni sull'interpretazione dei risultati, consulta questo tutorial: [Ispezione delle prestazioni di I/O del disco](https://sqlperformance.com/2015/08/io-subsystem/diskspd-test-storage) con Disk. SPd

### Benchmark `st1` e `sc1` volumi (istanze Linux)
<a name="hdd_benchmarking"></a>

Esegui **fio** sul tuo volume `st1` o `sc1`.

**Nota**  
Prima di eseguire questi test, imposta buffered I/O sull'istanza come descritto in. [*Aumenta la capacità di lettura anticipata per carichi di lavoro ad alto throughput e con elevata intensità di lettura su e (solo istanze Linux) `st1` `sc1`*](ebs-performance.md#read_ahead) 

Il seguente comando esegue 1 MiB di operazioni di lettura sequenziali rispetto a un dispositivo a blocchi `st1` (ad esempio, `/dev/xvdf`):

```
$ sudo fio --filename=/dev/<device> --direct=1 --rw=read --randrepeat=0 --ioengine=libaio --bs=1024k --iodepth=8 --time_based=1 --runtime=180 --name=fio_direct_read_test
```

Il seguente comando esegue 1 MiB di operazioni di scrittura sequenziali rispetto a un dispositivo a blocchi `st1` collegato:

```
$ sudo fio --filename=/dev/<device> --direct=1 --rw=write --randrepeat=0 --ioengine=libaio --bs=1024k --iodepth=8 --time_based=1 --runtime=180 --name=fio_direct_write_test 
```

Alcuni carichi di lavoro eseguono un misto di letture e scritture sequenziali su diverse parti del dispositivo a blocchi. Per il benchmarking di un carico di lavoro simile, ti consigliamo di utilizzare processi **fio** separati e simultanei per le letture e le scritture e di utilizzare l'opzione **fio** `offset_increment` per mirare a posizioni diverse del dispositivo a blocchi per ciascun processo. 

L'esecuzione di questo carico di lavoro è un po' più complicato rispetto a un carico di lavoro di lettura o scrittura sequenziale. Utilizza un editor di testo per creare un file del processo fio, chiamato `fio_rw_mix.cfg` in questo esempio, che contenga quanto segue:

```
[global] 
clocksource=clock_gettime
randrepeat=0
runtime=180
 
[sequential-write]
bs=1M
ioengine=libaio
direct=1
iodepth=8
filename=/dev/<device>
do_verify=0
rw=write
rwmixread=0
rwmixwrite=100 

[sequential-read] 
bs=1M
ioengine=libaio
direct=1
iodepth=8
filename=/dev/<device>
do_verify=0
rw=read
rwmixread=100
rwmixwrite=0
offset=100g
```

Quindi, esegui il comando riportato di seguito:

```
$ sudo fio fio_rw_mix.cfg
```

Per ulteriori informazioni sull'interpretazione dei risultati, consultate questo tutorial: [ I/O Ispezione delle prestazioni del disco](https://www.linux.com/training-tutorials/inspecting-disk-io-performance-fio/) con fio.

Più processi **fio** per I/O diretti, anche con l'utilizzo di operazioni di lettura o scrittura sequenziali, possono comportare un throughput inferiore al previsto per i volumi `st1` e `sc1`. Si consiglia di utilizzare un I/O lavoro diretto e utilizzare il `iodepth` parametro per controllare il numero di operazioni simultanee. I/O 