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