Kiezen tussen standaard (handmatig) en ingerichte doorvoer met automatische schaalaanpassing
VAN TOEPASSING OP: Nosql MongoDB Cassandra Gremlin Tabel
Azure Cosmos DB ondersteunt twee typen of aanbiedingen van ingerichte doorvoer: standaard (handmatig) en automatische schaalaanpassing. Beide doorvoertypen zijn geschikt voor bedrijfskritieke workloads waarvoor hoge prestaties en schaal vereist zijn en worden ondersteund door dezelfde Azure Cosmos DB-SLA's voor doorvoer, beschikbaarheid, latentie en consistentie.
In dit artikel wordt beschreven hoe u kunt kiezen tussen standaard (handmatig) en ingerichte doorvoer voor automatisch schalen voor uw workload.
Overzicht van ingerichte doorvoertypen
Voordat u ingaat op het verschil tussen standaard (handmatig) en automatisch schalen, is het belangrijk om eerst te begrijpen hoe ingerichte doorvoer werkt in Azure Cosmos DB.
Wanneer u ingerichte doorvoer gebruikt, stelt u de doorvoer in, gemeten in aanvraageenheden per seconde (RU/s) die vereist zijn voor uw workload. De service richt de capaciteit in die nodig is om de doorvoervereisten te ondersteunen. Databasebewerkingen voor de service, zoals leesbewerkingen, schrijfbewerkingen en query's, verbruiken een aantal aanvraageenheden (RU's). Meer informatie over aanvraageenheden.
In de volgende tabel ziet u een vergelijking op hoog niveau tussen standaard (handmatig) en automatische schaalaanpassing.
Description | Standaard (handmatig) | Automatisch schalen |
---|---|---|
Meest geschikt voor | Workloads met stabiel of voorspelbaar verkeer | Workloads met variabel of onvoorspelbaar verkeer. Zie use cases van automatische schaalaanpassing. |
Uitleg | U richt een vaste hoeveelheid RU/s T in die in de loop van de tijd statisch is, tenzij u deze handmatig wijzigt. Elke seconde kunt u maximaal T RU/s-doorvoer gebruiken. Als u bijvoorbeeld standaard (handmatig) 400 RU/s instelt, blijft de doorvoer op 400 RU/s. |
U stelt de hoogste of maximale RU/s in Tmax die u niet wilt overschrijden door het systeem. Het systeem schaalt de doorvoer T automatisch zodanig dat 0.1* Tmax <= T <= Tmax . Als u bijvoorbeeld de maximale RU/s voor automatisch schalen van 4000 RU/s instelt, wordt het systeem geschaald tussen 400 - 4000 RU/s. |
Wanneer te gebruiken | U wilt uw doorvoercapaciteit (RU/s) handmatig beheren en zelf schalen. U hebt een hoog, consistent gebruik van ingerichte RU/s. Als u van alle uren in een maand ingerichte RU/s T instelt en het volledige bedrag voor 66% van de uren of meer gebruikt, bespaart u naar schatting met standaard (handmatig) ingerichte RU/s.Dit is gebaseerd op een vergelijking tussen het instellen T in standaard (handmatig) en hetzelfde bedrag Tmax in automatische schaalaanpassing. |
U wilt dat Azure Cosmos DB uw doorvoercapaciteit (RU/s) en schaal beheert op basis van gebruik. U hebt ru/s-gebruik dat variabel of moeilijk te voorspellen is. Als u van alle uren in een maand het maximum aantal RU/s Tmax voor automatisch schalen instelt en het volledige bedrag Tmax voor 66% van de uren of minder gebruikt, bespaart u naar schatting met automatische schaalaanpassing.Dit is gebaseerd op een vergelijking tussen het instellen van automatische schaalaanpassing Tmax en dezelfde hoeveelheid T standaard (handmatige) doorvoer. |
Factureringsmodel | Facturering wordt per uur uitgevoerd voor de ingerichte RU/s, ongeacht het aantal RU's dat is verbruikt. Voorbeeld: Voor zowel uur 1 als 2 worden er 400 RU/s in rekening gebracht voor beide uren tegen de standaardtarieven (handmatig). |
Facturering wordt per uur uitgevoerd voor de hoogste RU/s waarnaar het systeem in het uur is geschaald. Voorbeeld: Tmax ), vanwege geen gebruikU wordt gefactureerd voor 3500 RU/s in uur 1 en 400 RU/s in uur 2 tegen de doorvoersnelheden voor automatisch ingerichte schaalaanpassing. De automatische schaalaanpassing per RU/s is 1,5 * de standaard (handmatige) snelheid. |
Wat gebeurt er als u de ingerichte RU/s overschrijdt | De RU/s blijven statisch op wat is ingericht. Aanvragen die in een seconde buiten de ingerichte RU's verbruiken, worden beperkt, met een reactie die een tijd aanbeveelt om te wachten voordat het opnieuw wordt geprobeerd. U kunt de RU/s indien nodig handmatig verhogen of verlagen. | Het systeem schaalt de RU/s omhoog naar het maximum aantal RU/s voor automatisch schalen. Aanvragen die meer verbruiken dan het maximumaantal RU/s voor automatisch schalen in een seconde, worden beperkt met een reactie die een tijd aanbeveelt om te wachten voordat u het opnieuw probeert. |
Inzicht in uw verkeerspatronen
Nieuwe toepassingen
Als u een nieuwe toepassing bouwt en uw verkeerspatroon nog niet kent, kunt u beginnen bij het toegangspunt RU/s (of de minimale RU/s) om overinrichting in het begin te voorkomen. Of, als u een kleine toepassing hebt die geen hoge schaal nodig heeft, wilt u mogelijk alleen de minimale toegangspunt-RU/s inrichten om de kosten te optimaliseren. Voor kleine toepassingen met weinig verwacht verkeer kunt u ook de serverloze capaciteitsmodus overwegen.
Of u nu standaard (handmatig) of automatisch schalen wilt gebruiken, u moet het volgende overwegen:
Als u standaard (handmatige) RU/s inricht op het toegangspunt van 400 RU/s, kunt u geen meer dan 400 RU/s gebruiken, tenzij u de doorvoer handmatig wijzigt. U wordt gefactureerd voor 400 RU/s tegen de standaard (handmatig) ingerichte doorvoersnelheid, per uur.
Als u doorvoer voor automatische schaalaanpassing inricht met een maximum aantal RU/s van 4000 RU/s, wordt de resource geschaald tussen 400 en 4000 RU/s. Omdat het factureringstarief voor doorvoer automatisch schalen per RU/s 1,5x is van het standaardtarief (handmatig), is uw factuur voor uren waarin het systeem is omlaag geschaald naar het minimum van 400 RU/s, hoger dan wanneer u 400 RU/s handmatig hebt ingericht. Met automatische schaalaanpassing kunt u echter op elk gewenst moment, als het verkeer van uw toepassing piekt, maximaal 4000 RU/s gebruiken zonder dat gebruikersactie is vereist. Over het algemeen moet u het voordeel van het kunnen verbruiken tot het maximum aantal RU/s op elk gewenst moment afwegen met de 1,5x snelheid van automatische schaalaanpassing.
Gebruik de Azure Cosmos DB-capaciteitscalculator om uw doorvoervereisten te schatten.
Bestaande toepassingen
Als u een bestaande toepassing hebt die gebruikmaakt van standaard (handmatig) ingerichte doorvoer, kunt u metrische gegevens van Azure Monitor gebruiken om te bepalen of uw verkeerspatroon geschikt is voor automatische schaalaanpassing.
Zoek eerst de metrische gegevens over het genormaliseerde verbruik van aanvraageenheden van uw database of container. Genormaliseerd gebruik is een meting van hoeveel u momenteel gebruikmaakt van uw standaard (handmatig) ingerichte doorvoer. Hoe dichter het getal bij 100% ligt, hoe meer u uw ingerichte RU/s volledig gebruikt. Meer informatie over de metrische gegevens.
Bepaal vervolgens hoe het genormaliseerde gebruik in de loop van de tijd varieert. Zoek het hoogste genormaliseerde gebruik voor elk uur. Bereken vervolgens het gemiddelde genormaliseerd gebruik voor alle uren. Als u ziet dat uw gemiddelde gebruik minder is dan 66%, kunt u overwegen om automatisch schalen in te schakelen voor uw database of container. Als het gemiddelde gebruik daarentegen hoger is dan 66%, is het raadzaam om de standaard (handmatig) ingerichte doorvoer te blijven gebruiken.
Tip
Als uw account is geconfigureerd voor het gebruik van schrijfbewerkingen voor meerdere regio's en meer dan één regio heeft, is de snelheid per 100 RU/s hetzelfde voor handmatige en automatische schaalaanpassing. Dit betekent dat het inschakelen van automatische schaalaanpassing geen extra kosten met zich meebrengt, ongeacht het gebruik. Als gevolg hiervan is het altijd raadzaam om automatische schaalaanpassing te gebruiken met schrijfbewerkingen voor meerdere regio's wanneer u meer dan één regio hebt, om te profiteren van de besparingen van het betalen van alleen de RU/s waarnaar uw toepassing schaalt. Als u schrijfbewerkingen voor meerdere regio's en één regio hebt, gebruikt u het gemiddelde gebruik om te bepalen of automatische schaalaanpassing kostenbesparingen oplevert.
Voorbeelden
Laten we eens kijken naar twee verschillende voorbeeldworkloads en analyseren of deze geschikt zijn voor handmatige of automatische schaalaanpassing van doorvoer. Ter illustratie van de algemene aanpak analyseren we drie uur geschiedenis om het kostenverschil te bepalen tussen het gebruik van handmatige en automatische schaalaanpassing. Voor productieworkloads wordt aanbevolen om een geschiedenis van 7 tot 30 dagen (of langer indien beschikbaar) te gebruiken om een patroon van RU/s-gebruik vast te stellen.
Notitie
Alle voorbeelden in dit document zijn gebaseerd op de prijs voor een Azure Cosmos DB-account dat is geïmplementeerd in een niet-overheidsregio in de VS. De prijzen en berekening variëren, afhankelijk van de regio die u gebruikt. Zie de pagina met prijzen van Azure Cosmos DB voor de meest recente prijsinformatie.
Veronderstellingen:
- Stel dat we momenteel een handmatige doorvoer van 30.000 RU/s hebben.
- Onze regio is geconfigureerd met schrijfbewerkingen van één regio, met één regio. Als we meerdere regio's hadden, zouden we de uurkosten vermenigvuldigen met het aantal regio's.
- Gebruik openbare prijstarieven voor handmatig ($ 0,008 USD per 100 RU/s per uur) en doorvoer automatisch schalen ($ 0,012 USD per 100 RU/s per uur) in schrijfaccounts met één regio. Zie de pagina met prijzen voor meer informatie.
Voorbeeld 1: Variabele workload (automatische schaalaanpassing aanbevolen)
Eerst kijken we naar het genormaliseerde RU-verbruik. Deze workload heeft variabel verkeer, met genormaliseerd RU-verbruik van 6% tot 100%. Er zijn af en toe pieken tot 100% die moeilijk te voorspellen zijn, maar vele uren met een laag gebruik.
Laten we de kosten voor het inrichten van handmatige doorvoer van 30.000 RU/s vergelijken met het instellen van het maximum aantal RU/s voor automatische schaalaanpassing op 30.000 (schaalt tussen 3000 - 30.000 RU/s).
Nu gaan we de geschiedenis analyseren. Stel dat we het gebruik hebben dat in de volgende tabel wordt beschreven. Het gemiddelde gebruik gedurende deze drie uur is 39%. Omdat het genormaliseerde RU-verbruik gemiddeld minder is dan 66%, besparen we door automatische schaalaanpassing te gebruiken.
Houd er rekening mee dat in uur 1, wanneer er 6% gebruik is, automatisch schalen RU/s in rekening brengt voor 10% van het maximum aantal RU/s, wat het minimum per uur is. Hoewel de kosten van automatische schaalaanpassing in bepaalde uren hoger kunnen zijn dan handmatige doorvoer, zal automatische schaalaanpassing in het algemeen goedkoper zijn zolang het gemiddelde gebruik minder dan 66% over alle uren is.
Periode | Gebruik | Gefactureerde RU/s voor automatische schaalaanpassing | Optie 1: Handmatig 30.000 RU/s | Optie 2: Automatisch schalen tussen 3000 - 30.000 RU/s |
---|---|---|---|---|
Uur 1 | 6% | 3000 | 30.000 * 0,008 / 100 = $ 2,40 | 3000 * 0,012 / 100 = $0,36 |
Uur 2 | 100% | 30,000 | 30.000 * 0,008 / 100 = $ 2,40 | 30.000 * 0,012 / 100 = $ 3,60 |
Uur 3 | 11% | 3300 | 30.000 * 0,008 / 100 = $ 2,40 | 3300 * 0,012 / 100 = $0,40 |
Totaal | $ 7,20 | $ 4.36 (39% besparing) |
Voorbeeld 2: Constante werkbelasting (handmatige doorvoer aanbevolen)
Deze workload heeft constant verkeer, met genormaliseerd RU-verbruik variërend van 72% tot 100%. Met 30.000 RU/s die zijn ingericht, betekent dit dat we 21.600 tot 30.000 RU/s verbruiken.
Laten we de kosten voor het inrichten van handmatige doorvoer van 30.000 RU/s vergelijken met het instellen van het maximum aantal RU/s voor automatische schaalaanpassing op 30.000 (schaalt tussen 3000 - 30.000 RU/s).
Stel dat we de gebruiksgeschiedenis hebben zoals beschreven in de tabel. Ons gemiddelde gebruik over deze drie uur is 88%. Omdat het genormaliseerde RU-verbruik gemiddeld groter is dan 66%, besparen we door gebruik te maken van handmatige doorvoer.
Over het algemeen geldt dat als het gemiddelde gebruik over alle 730 uur in één maand hoger is dan 66%, we besparen door handmatige doorvoer te gebruiken.
Periode | Gebruik | Gefactureerde RU/s voor automatische schaalaanpassing | Optie 1: Handmatig 30.000 RU/s | Optie 2: Automatisch schalen tussen 3000 - 30.000 RU/s |
---|---|---|---|---|
Uur 1 | 72% | 21,600 | 30.000 * 0,008 / 100 = $ 2,40 | 21600 * 0,012 / 100 = $2,59 |
Uur 2 | 93% | 28.000 | 30.000 * 0,008 / 100 = $ 2,40 | 28.000 * 0,012 / 100 = $ 3,36 |
Uur 3 | 100% | 30,000 | 30.000 * 0,008 / 100 = $ 2,40 | 30.000 * 0,012 / 100 = $ 3,60 |
Totaal | $ 7,20 | $ 9,55 |
Tip
Met standaard (handmatige) doorvoer kunt u de metrische gegevens voor genormaliseerd gebruik gebruiken om een schatting te maken van de werkelijke RU/s die u kunt gebruiken als u overschakelt naar automatische schaalaanpassing. Vermenigvuldig het genormaliseerde gebruik op een bepaald moment met de momenteel ingerichte standaard (handmatige) RU/s. Als u bijvoorbeeld 5000 RU/s hebt ingericht en het genormaliseerde gebruik 90% is, is het RU/s-gebruik 0,9 * 5000 = 4500 RU/s. Als u ziet dat uw verkeerspatroon variabel is, maar u over- of onder ingericht bent, kunt u automatische schaalaanpassing inschakelen en vervolgens de instelling voor het maximum aantal RU/s voor automatisch schalen dienovereenkomstig wijzigen.
Het gemiddelde gebruik berekenen
Facturen voor automatische schaalaanpassing voor de hoogste RU/s die in een uur zijn geschaald. Bij het analyseren van het genormaliseerde RU-verbruik in de loop van de tijd is het belangrijk om het hoogste gebruik per uur te gebruiken bij het berekenen van het gemiddelde.
Het gemiddelde van het hoogste gebruik in alle uren berekenen:
- Stel de aggregatie voor de metrische waarde Noramlized RU-verbruik in op Max.
- Selecteer de Tijdgranulariteit tot 1 uur.
- Navigeer naar Grafiekopties.
- Selecteer de optie staafdiagram.
- Selecteer onder Delen de optie Downloaden naar Excel . Bereken in het gegenereerde werkblad het gemiddelde gebruik voor alle uren.
Uw gebruik meten en bewaken
Na verloop van tijd, nadat u het doorvoertype hebt gekozen, moet u uw toepassing controleren en indien nodig aanpassingen aanbrengen.
Wanneer u automatische schaalaanpassing gebruikt, gebruikt u Azure Monitor om de ingerichte maximale RU/s voor automatische schaalaanpassing (maximale doorvoer voor automatische schaalaanpassing) en de RU/s weer te geven waarnaar het systeem momenteel is geschaald (Ingerichte doorvoer). Hieronder ziet u een voorbeeld van een variabele of onvoorspelbare workload met behulp van automatische schaalaanpassing. Wanneer er geen verkeer is, schaalt het systeem de RU/s naar het minimum van 10% van het maximum aantal RU/s, wat in dit geval respectievelijk 5000 RU/s en 50.000 RU/s is.
Notitie
Wanneer u standaard (handmatig) ingerichte doorvoer gebruikt, verwijst de metrische waarde Ingerichte doorvoer naar wat u als gebruiker hebt ingesteld. Wanneer u doorvoer voor automatische schaalaanpassing gebruikt, verwijst dit metrische gegeven naar de RU/s waarnaar het systeem momenteel is geschaald.
Volgende stappen
- Ru-calculator gebruiken om de doorvoer voor nieuwe workloads te schatten.
- Gebruik Azure Monitor om uw bestaande workloads te bewaken.
- Meer informatie over het inrichten van doorvoer voor automatische schaalaanpassing in een Azure Cosmos DB-database of -container.
- Bekijk de veelgestelde vragen over automatisch schalen.
- Wilt u capaciteitsplanning uitvoeren voor een migratie naar Azure Cosmos DB? U kunt informatie over uw bestaande databasecluster gebruiken voor capaciteitsplanning.
- Als u alleen het aantal vcores en servers in uw bestaande databasecluster weet, leest u meer over het schatten van aanvraageenheden met behulp van vCores of vCPU's
- Als u de gebruikelijke aanvraagsnelheden voor uw huidige databaseworkload kent, leest u meer over het schatten van aanvraageenheden met behulp van Azure Cosmos DB-capaciteitsplanner