Funzionamento delle prestazioni quando le macchine virtuali sono connesse ai volumi SAN di Elastic

Questo articolo illustra il funzionamento delle prestazioni SAN di Elastic e il modo in cui la combinazione dei relativi limiti e di quelli delle macchine virtuali di Azure può influire sulle prestazioni dei carichi di lavoro.

Funzionamento delle prestazioni

Le macchine virtuali di Azure hanno operazioni di input/output al secondo (IOPS) e limiti di prestazioni della velocità effettiva in base al tipo e alle dimensioni della macchina virtuale. Una SAN di Elastic ha un pool di prestazioni che alloca a ognuno dei relativi volumi. I volumi SAN di Elastic possono essere collegati alle macchine virtuali e ogni volume ha limiti di I/O al secondo e velocità effettiva specifici.

Le prestazioni dell'applicazione vengono limitate quando questa richiede più operazioni di I/O al secondo o velocità effettiva rispetto a quelle assegnate per la macchina virtuale o i volumi collegati. In caso di limitazione, l'applicazione presenta prestazioni non ottimali e può subire conseguenze negative, ad esempio una maggiore latenza. Uno dei principali vantaggi di una SAN di Elastic è la possibilità di effettuare automaticamente il provisioning delle operazioni di I/O al secondo in base alla richiesta. Le operazioni di I/O al secondo della SAN vengono condivise tra tutti i volumi, quindi quando un carico di lavoro raggiunge un picco, può essere gestito senza limitazioni o costi aggiuntivi. Questo articolo illustra il funzionamento di questo provisioning.

Prestazioni SAN di Elastic

Una SAN di Elastic ha tre attributi che determinano le prestazioni: capacità totale, operazioni di I/O al secondo e velocità effettiva. Per ottenere prestazioni ottimali, la rete SAN deve trovarsi nella stessa zona della macchina virtuale di cui si sta eseguendo il provisioning.

Capacità

La capacità totale della rete SAN di Elastic è determinata da due diverse capacità, la capacità di base e la capacità aggiuntiva. L'aumento della capacità di base aumenta anche le operazioni di I/O al secondo e la velocità effettiva della SAN, ma è più costoso rispetto all'aumento della capacità aggiuntiva. L'aumento della capacità aggiuntiva non aumenta le operazioni di I/O al secondo o la velocità effettiva.

IOPS

Le operazioni di I/O al secondo di una SAN di Elastic aumentano di 5.000 per TiB di base. Quindi, se si dispone di una SAN di Elastic con 6 TiB di capacità di base, tale SAN potrebbe comunque fornire fino a 30.000 operazioni di I/O al secondo. La stessa SAN fornirà comunque 30.000 operazioni di I/O al secondo se avesse 50 TiB di capacità aggiuntiva o 500 TiB di capacità aggiuntiva, poiché le prestazioni della SAN sono determinate solo dalla capacità di base. Le operazioni di I/O al secondo di una SAN di Elastic vengono distribuite tra tutti i relativi volumi.

Velocità effettiva

La velocità effettiva di una SAN di Elastic aumenta di 200 MB/s per TiB di base. Quindi, se si dispone di una SAN di Elastic con 6 TiB di capacità di base, tale SAN potrebbe comunque fornire fino a 1.200 MB/s. La stessa SAN fornirà una velocità effettiva di 1200 MB/sec, sia che avesse 50 TiB o 500 TiB di capacità aggiuntiva, poiché le prestazioni della SAN sono determinate solo dalla capacità di base. La velocità effettiva di una SAN di Elastic viene distribuita tra tutti i relativi volumi.

Volumi di SAN di Elastic

Le prestazioni di un singolo volume sono determinate dalla sua capacità. Il numero massimo di operazioni di I/O al secondo di un volume aumenta di 750 per GiB, fino a un massimo di 80.000 operazioni di I/O al secondo. La velocità effettiva massima aumenta di 60 MB/s per GiB, fino a un massimo di 1.280 MB/s. Un volume deve avere almeno 107 GiB per poter usare 80.000 operazioni di I/O al secondo. Un volume deve avere almeno 22 GiB per poter usare il massimo di 1.280 MB/s. Le operazioni di I/O al secondo e la velocità effettiva combinate di tutti i volumi non possono superare le operazioni di I/O al secondo e la velocità effettiva della rete SAN.

Configurazione di esempio

Ognuno degli scenari di esempio in questo articolo usa la configurazione seguente per la SAN di Elastic:

Conto risorse Capacità IOPS
SAN di Elastic 27 TiB 135.000 (con provisioning)
Volume SAN del servizio Azure Kubernetes 3 TiB Fino a 80.000
Volume SAN del carico di lavoro 1 10 TiB Fino a 80.000
Volume SAN del carico di lavoro 2 4 TiB Fino a 80.000
Volume SAN del carico di lavoro 3 2 TiB Fino a 80.000

Scenari di esempio

Gli scenari di esempio seguenti illustrano come la SAN di Elastic gestisce l'allocazione delle prestazioni. Per ottenere prestazioni ottimali, sia le macchine virtuali che la rete SAN devono trovarsi nella stessa zona.

Carico di lavoro tipico

Carico di lavoro Operazioni di I/O al secondo richieste Operazioni di I/O al secondo fornite
Carico di lavoro AWS 3,000 3,000
Carico di lavoro 1 10,000 10,000
Carico di lavoro 2 8.000 8.000
Carico di lavoro 3 20.000 20.000

In questo scenario, non si verifica alcuna limitazione a livello di macchina virtuale o SAN. La SAN ha 135.000 operazioni di I/O al secondo, ogni volume è sufficientemente grande da servire fino a 80.000 operazioni di I/O al secondo, sono presenti sufficienti operazioni di I/O al secondo disponibili per la SAN, nessuno dei limiti delle operazioni di I/O al secondo della macchina virtuale è stato superato e il totale di operazioni di I/O al secondo richieste è 41.000. Quindi, tutti i carichi di lavoro vengono eseguiti senza alcuna limitazione.

Diagramma di esempio dello scenario medio.

Picco di carico di lavoro singolo

Carico di lavoro Operazioni di I/O al secondo richieste Operazioni di I/O al secondo fornite Tempo di picco
Carico di lavoro AWS 2,000 2,000 N/D
Carico di lavoro 1 10,000 10,000 N/D
Carico di lavoro 2 10,000 10,000 N/D
Carico di lavoro 3 80.000 80.000 9:00 am

In questo scenario non si verifica alcuna limitazione. Il carico di lavoro 3 ha raggiunto un picco alle 9:00, richiedendo 80.000 operazioni di I/O al secondo. Nessuno degli altri carichi di lavoro è stato interrotto e la rete SAN ha avuto un numero sufficiente di operazioni di I/O al secondo gratuite da distribuire al carico di lavoro, quindi non c'è stata alcuna limitazione.

In genere, si tratta della configurazione ideale per i carichi di lavoro di condivisione SAN. È consigliabile avere prestazioni sufficienti per gestire le normali operazioni dei carichi di lavoro e picchi occasionali.

Diagramma di esempio di picco del carico di lavoro singolo.

Picchi per tutti i carichi di lavoro

Carico di lavoro Operazioni di I/O al secondo richieste Operazioni di I/O al secondo fornite Tempo di picco
Carico di lavoro AWS 5,000 5,000 9:00 am
Carico di lavoro 1 40.000 21.000 9:01
Carico di lavoro 2 45,000 45,000 9:00 am
Carico di lavoro 3 64.000 64.000 9:00 am

È importante conoscere il comportamento di una SAN nello scenario peggiore in cui ogni carico di lavoro raggiunge il picco contemporaneamente.

In questo scenario, tutti i carichi di lavoro hanno raggiunto il picco quasi contemporaneamente. A questo punto, le operazioni di I/O al secondo totali richieste da tutti i carichi di lavoro combinati (64.000 + 45.000 + 40.000 + 5.000) sono superiori alle operazioni di I/O al secondo di cui è stato effettuato il provisioning a livello SAN (135.000). I carichi di lavoro vengono quindi limitati. La limitazione avviene in ordine cronologico, quindi qualsiasi carico di lavoro richieda operazioni di I/O al secondo dopo che la capacità massima è stata raggiunta non otterrà ulteriori prestazioni. In questo caso, il carico di lavoro 1 ha richiesto 40.000 operazioni di I/O al secondo dopo gli altri carichi di lavoro. La rete SAN aveva già allocato la maggior parte delle operazioni di I/O al secondo disponibili, quindi sono state fornite solo le operazioni di I/O al secondo rimanenti.

Diagramma di esempio per tutti i carichi di lavoro.

Passaggi successivi

Distribuire una SAN di Elastic.