Prestatieoverwegingen voor Azure NetApp Files-opslag met statische toegang
Gegevenssets worden niet altijd actief gebruikt. Maximaal 80% van de gegevens in een set kan worden beschouwd als 'statisch', wat betekent dat deze momenteel niet in gebruik is of onlangs niet is geopend. Bij het opslaan van gegevens op opslag met hoge prestaties, zoals Azure NetApp Files, wordt het geld dat wordt besteed aan de gebruikte capaciteit in feite verspild, omdat statische gegevens geen opslag met hoge prestaties vereisen totdat deze opnieuw wordt geopend.
Azure NetApp Files-opslag met statische toegang is bedoeld om de kosten voor cloudopslag in Azure te verlagen. Er zijn prestatieoverwegingen in specifieke gebruiksvoorbeelden die moeten worden overwogen.
Toegang tot gegevens die zijn verplaatst naar de statische lagen, hebben meer latentie, met name voor willekeurige I/O. In het ergste geval kunnen alle gegevens die worden geopend, zich in de statische laag bevinden, dus elke aanvraag moet een ophaalbewerking van de gegevens uitvoeren. Het is ongebruikelijk dat alle gegevens in een actief gebruikte gegevensset zich in de statische laag bevinden, dus het is onwaarschijnlijk dat deze latentie wordt waargenomen.
Wanneer het standaardbeleid voor het ophalen van statische toegang is geselecteerd, worden sequentiële I/O-leesbewerkingen rechtstreeks vanuit de statische laag uitgevoerd en worden deze niet opnieuw ingevuld in de dynamische laag. Willekeurige leesgegevens worden opnieuw ingevuld in de dynamische laag, waardoor de prestaties van volgende leesbewerkingen worden verhoogd. Optimalisaties voor sequentiële workloads verminderen vaak de latentie die wordt gemaakt door het ophalen van de cloud in vergelijking met willekeurige leesbewerkingen en verbetert de algehele prestaties.
In een recente test die is uitgevoerd met standard-opslag met statische toegang voor Azure NetApp Files, zijn de volgende resultaten verkregen.
Notitie
Alle gepubliceerde resultaten zijn alleen bedoeld voor referentiedoeleinden. Resultaten worden niet gegarandeerd omdat de prestaties in productieworkloads kunnen variëren vanwege talloze factoren.
100% sequentiële leesbewerkingen op dynamische/statische laag (één taak)
In het volgende scenario is één taak op één D32_V5 virtuele machine (VM) gebruikt op een Azure NetApp Files-volume van 50 TiB met behulp van de Ultra-prestatielaag. Er zijn verschillende blokgrootten gebruikt om de prestaties te testen op dynamische en statische lagen.
Notitie
Het maximum voor het Ultra-serviceniveau is 128 MiB/s per tebibyte toegewezen capaciteit. Een normaal Volume van Azure NetApp Files kan een doorvoer tot ongeveer 5000 MiB/s beheren.
In de volgende grafiek ziet u de prestaties van de statische laag voor deze test met behulp van verschillende wachtrijdiepten. De maximale doorvoer voor één VIRTUELE machine was ongeveer 400 MiB/s.
De prestaties van de hot-laag waren ongeveer 2,75x beter, waarbij de limiet ongeveer 1180 MiB/s bedroeg.
In deze grafiek ziet u een vergelijking van de prestaties van statische en dynamische lagen met een blokgrootte van 256.000.
Wat veroorzaakt latentie in dynamische en statische lagen?
Latentie in de dynamische laag is een factor van het opslagsysteem zelf, waarbij systeemresources worden uitgeput wanneer er meer I/O naar de service wordt verzonden dan op elk gewenst moment kan worden verwerkt. Hierdoor moeten bewerkingen in de wachtrij worden geplaatst totdat eerder verzonden bewerkingen kunnen worden voltooid.
Latentie in de statische laag wordt over het algemeen gezien met de bewerkingen voor het ophalen van de cloud: aanvragen via het netwerk voor I/O naar het objectarchief (sequentiële workloads) of statische blokreactivatie in de dynamische laag (willekeurige workloads).
Samenvatting van resultaten
- Wanneer een workload 100% opeenvolgend is, neemt de doorvoer van de statische laag af met ongeveer 47% versus de dynamische laag (3330 MiB/s vergeleken met 1742 MiB/s).
- Wanneer een workload 100% willekeurig is, neemt de doorvoer van de statische laag af met ongeveer 88% versus de dynamische laag (2.479 MiB/s vergeleken met 280 MiB/s).
- De prestatievermindering voor dynamische laag bij het uitvoeren van 100% opeenvolgende workloads (3.330 MiB/s) en 100% willekeurige workloads (2479 MiB/s) was ongeveer 25%. De prestatievermindering voor de statische laag bij het uitvoeren van 100% sequentiële workloads (1742 MiB/s) en 100% willekeurige workloads (280 MiB/s) was ongeveer 88%.
- Wanneer een workload een willekeurig I/O-percentage bevat, is de totale doorvoer voor de statische laag dichter bij 100% willekeurig dan 100% opeenvolgend.
- Leesbewerkingen van de statische laag zijn met ongeveer 50% gedaald bij het verplaatsen van 100% sequentiële naar een 80/20 sequentiële/willekeurige mix.
- Sequentiële I/O kan profiteren van een
readahead
cache in Azure NetApp Files die niet willekeurig I/O-bestand is. Dit voordeel van sequentiële I/O helpt de algehele prestatieverschillen tussen de dynamische en statische lagen te verminderen.
Overwegingen en aanbevelingen
- Als uw workload regelmatig toegangspatronen op een onvoorspelbare manier wijzigt, is statische toegang mogelijk niet ideaal vanwege de prestatieverschillen tussen dynamische en statische lagen.
- Als uw workload een percentage van willekeurige I/O bevat, moeten de prestatieverwachtingen bij het openen van gegevens op de statische laag dienovereenkomstig worden aangepast.
- Configureer het coolness-venster en de instellingen voor het ophalen van statische toegang zodat deze overeenkomen met uw workloadpatronen en om het ophalen van de statische laag te minimaliseren.
- De prestaties van statische toegang kunnen variëren, afhankelijk van de gegevensset en de systeembelasting waar de toepassing wordt uitgevoerd. Het is raadzaam om relevante tests uit te voeren met uw gegevensset om inzicht te krijgen in en rekening te houden met prestatievariabiliteit van statische toegang.