Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
VAN TOEPASSING OP:
NoSQL
MongoDB
Cassandra
Gremlin
Tabel
In Azure Cosmos DB kunt u standaard (handmatig) of automatisch ingerichte doorvoer voor uw databases en containers configureren. Met automatische schaalaanpassing van ingerichte doorvoer in Azure Cosmos DB kunt u de doorvoer (RU/s) van uw database of container automatisch en direct schalen.
Automatisch schalen van ingerichte doorvoer is zeer geschikt voor bedrijfskritieke workloads met variabele of onvoorspelbare verkeerspatronen en waarvoor SLA's nodig zijn voor hoge prestaties en schaal. Autoscaling schaalt standaard workloads op basis van de meest actieve regio en partitie. Voor niet-uniforme workloads met verschillende workloadpatronen in regio's en partities kan deze schaalaanpassing onnodige schaalaanpassingen veroorzaken. Dynamische schaalaanpassing of dynamische automatische schaalaanpassing is een verbetering van automatische schaalaanpassing die is ingericht voor het onafhankelijk schalen van dergelijke niet-uniforme werkbelastingen op basis van gebruik, per regio en per partitieniveau. Met dynamisch schalen kunt u kosten besparen als u vaak dynamische partities ondervindt en/of meerdere regio's hebt.
Voordelen van automatisch schalen
Azure Cosmos DB-databases en containers die zijn geconfigureerd met vooraf geconfigureerde doorvoer voor automatische schaling, hebben de volgende voordelen:
Eenvoudig: Automatisch schalen verwijdert de complexiteit van het beheren van RU/s met aangepaste scripts of het handmatig schalen van capaciteit.
Schaalbaar: Databases en containers schalen de ingerichte doorvoer automatisch naar behoefte. Er is geen onderbreking van clientverbindingen, toepassingen of de Azure Cosmos DB SLA's.
Rendabel: met automatische schaalaanpassing kunt u uw RU/s-gebruik en -kostengebruik optimaliseren door omlaag te schalen wanneer deze niet in gebruik is. U betaalt alleen voor de middelen die uw workloads nodig hebben, afgerekend per uur. Van alle uren in een maand, als u het maximum aantal RU/s (Tmax) voor automatische schaalaanpassing instelt en de volledige hoeveelheid Tmax voor 66% van de uren of minder gebruikt, kunt u besparen met automatische schaalaanpassing. Naast dynamisch schalen is het toevoegen van een secundaire regio voor hoge beschikbaarheid rendabeler omdat elke regio en partitie onafhankelijk worden geschaald op basis van het werkelijke gebruik. Zie voor meer informatie het artikel over het kiezen tussen standaard (handmatig) en het artikel over het automatisch schalen van ingerichte doorvoer .
Maximaal beschikbaar: databases en containers met automatische schaalaanpassing gebruiken dezelfde wereldwijd gedistribueerde, fouttolerante, maximaal beschikbare Azure Cosmos DB-back-end om de duurzaamheid en hoge beschikbaarheid van gegevens te garanderen.
Gebruikstoepassingen van autoscale
De use cases van automatische schaalaanpassing zijn onder andere:
Variabele of onvoorspelbare workloads: wanneer uw workloads variabele of onvoorspelbare pieken in gebruik hebben, helpt automatisch schalen door automatisch omhoog en omlaag te schalen op basis van gebruik. Voorbeelden zijn retailwebsites met verschillende verkeerspatronen, afhankelijk van seizoensgebondenheid; IOT-workloads met pieken op verschillende tijdstippen gedurende de dag; Line-of-Business-toepassingen die piekgebruik een paar keer per maand of jaar zien, en meer. Met automatische schaalaanpassing hoeft u niet langer handmatig in te richten voor piek- of gemiddelde capaciteit.
Nieuwe toepassingen: Als u een nieuwe toepassing ontwikkelt en niet zeker weet welke doorvoer (RU/s) u nodig hebt, kunt u met automatisch schalen eenvoudig aan de slag. U kunt beginnen met het ingangspunt voor automatische schaalaanpassing van 100 - 1000 RU/s, uw gebruik bewaken en de juiste RU/s in de loop van de tijd bepalen.
Zelden gebruikte toepassingen: Als u een toepassing hebt, die slechts enkele uren per dag, week of maand wordt gebruikt, zoals een toepassing met een laag volume, web/blogsite. Met automatische schaalaanpassing wordt de capaciteit aangepast om piekgebruik te verwerken en omlaag te schalen wanneer deze voorbij is.
Ontwikkel- en testworkloads: als u of uw team Azure Cosmos DB-databases en -containers gebruikt tijdens werkuren, maar deze niet in het weekend nodig hebt, kunt u met automatische schaalaanpassing kosten besparen door omlaag te schalen tot een minimum wanneer deze niet in gebruik zijn.
Geplande productiewerkbelastingen/query's: Als u een reeks geplande aanvragen, bewerkingen of query's hebt die u tijdens rustige perioden wilt uitvoeren, kunt u dat eenvoudig doen met automatische schaalaanpassing. Wanneer u de workload moet uitvoeren, wordt de doorvoer automatisch opgeschaald naar de benodigde capaciteit en vervolgens weer verlaagd.
Het bouwen van een aangepaste oplossing voor deze problemen vereist niet alleen een enorme hoeveelheid tijd, maar introduceert ook complexiteit in de configuratie of code van uw toepassing. Automatisch schalen maakt de bovenstaande scenario's standaard mogelijk en verwijdert de behoefte aan aangepaste of handmatige schaalaanpassing van capaciteit.
Gebruiksvoorbeelden van dynamisch schalen
De gebruiksvoorbeelden van dynamisch schalen zijn onder andere:
- Database-workloads met een hoogbelaste primaire regio en een secundaire passieve regio voor herstel na noodgevallen.
- Met dynamisch schalen is het bereiken van hoge beschikbaarheid met meerdere regio's rendabeler. De secundaire regio wordt onafhankelijk en automatisch omlaag geschaald terwijl deze niet actief is. De secundaire regio schaalt ook automatisch op wanneer deze actief wordt en tijdens het verwerken van replicatieverkeer voor schrijfopdrachten vanuit de primaire regio.
- Database-werkbelastingen voor meerdere regio's.
- Deze workloads ervaren vaak een ongelijke verdeling van aanvragen over verschillende regio's door natuurlijke groei en afname van verkeer gedurende de dag. Een database kan bijvoorbeeld actief zijn tijdens kantooruren in wereldwijd gedistribueerde tijdzones.
Automatische schaalaanpassing van de ingerichte doorvoer werkt als volgt
Bij het configureren van containers en databases met automatische schaalaanpassing geeft u de vereiste maximale doorvoer Tmax
op. Azure Cosmos DB schaalt de doorvoer T
zoals 0.1*Tmax <= T <= Tmax
. Als u bijvoorbeeld de maximale doorvoer instelt op 20.000 RU/s, wordt de doorvoer geschaald tussen 2000 en 20.000 RU/s. Omdat opschalen automatisch en onmiddellijk is, kunt u te allen tijde tot aan de geconfigureerde Tmax
verbruiken zonder vertraging.
Elk uur wordt u gefactureerd voor de maximale doorvoer T
waarnaar het systeem binnen dat uur is geschaald. Wanneer dynamisch schalen is ingeschakeld, is schalen gebaseerd op het RU/s-gebruik op elke fysieke partitie en regio. Aangezien elke partitie en regio onafhankelijk van elkaar worden geschaald, kan dit leiden tot kostenbesparingen voor niet-uniforme workloads, omdat onnodige schaalaanpassingen worden vermeden.
Het uitgangspunt voor de maximale doorvoer bij automatische schaalaanpassing Tmax
begint bij 1000 RU/s, welke wordt geschaald tussen 100 - 1000 RU/s. U kunt instellen Tmax
in stappen van 1000 RU/s en de waarde op elk gewenst moment wijzigen.
Als we bijvoorbeeld een verzameling hebben met 1000 RU/s en 2 partities, kan elke partitie maximaal 500 RU/s gaan. Voor een uur activiteit ziet het gebruik er als volgt uit:
Regio | Partitie | Doorvoer | Gebruik | Opmerkingen |
---|---|---|---|---|
Schrijven | P1 | <= 500 RU/s | 100% | 500 RU/s die bestaan uit 50 RU/s die worden gebruikt voor schrijfbewerkingen en 450 RU/s voor leesbewerkingen. |
Schrijven | P2 | <= 200 RU/s | 40% | 200 RU/s bestaande uit alle leesbewerkingen. |
Lezen | P1 | <= 150 RU/s | 30% | 150 RU/s die bestaan uit 50 RU/s die worden gebruikt voor schrijfbewerkingen die zijn gerepliceerd vanuit de schrijfregio. 100 RU/s worden gebruikt voor leesbewerkingen in deze regio. |
Lezen | P2 | <= 50 RU/s | 10% |
Zonder dynamisch schalen worden alle partities uniform geschaald op basis van de heetste partitie. In dit voorbeeld, omdat de heetste partitie 100% gebruik had, worden alle partities in zowel de schrijf- als leesregio's geschaald naar 1000 RU/s, waardoor de totale RU/s worden geschaald naar 2000 RU/s.
Met dynamisch schalen, omdat de doorvoer van elke partitie en regio onafhankelijk wordt geschaald, is het totale aantal RU/s dat wordt geschaald 900 RU/s, wat beter overeenkomt met het werkelijke verkeerspatroon en lagere kosten.
Automatisch schalen inschakelen voor bestaande resources
Gebruik Azure Portal, CLI of PowerShell om automatisch schalen in te schakelen voor een bestaande database of container. U kunt op elk gewenst moment schakelen tussen autoscale en standaard (handmatige) ingestelde doorvoer. Raadpleeg deze documentatie voor meer informatie.
Doorvoer- en opslaglimieten voor autoscaling
Voor elke waarde van Tmax
kan de database of container een totaal van 0.1 * Tmax GB
opslaan. Nadat deze hoeveelheid opslagruimte is bereikt, wordt het maximum aantal RU/s automatisch verhoogd op basis van de nieuwe opslagwaarde, zonder dat dit van invloed is op uw toepassing.
Als u bijvoorbeeld begint met een maximum van 50.000 RU/s (schaalt tussen 5000 en 50.000 RU/s), kunt u maximaal 5000 GB aan gegevens opslaan. Als u meer dan 5000 GB hebt, bijvoorbeeld opslag is nu 6000 GB, wordt de nieuwe maximale RU/s 60.000 RU/s (schaalt tussen 6000 - 60.000 RU/s).
Wanneer u throughput op databaseniveau met automatische schaalaanpassing gebruikt, kunnen de eerste 25 containers een maximum van 1000 RU/s met automatische schaalaanpassing delen (schaalt tussen 100 - 1000 RU/s), zolang u niet meer dan 100 GB aan opslag gebruikt. Raadpleeg deze documentatie voor meer informatie.
Dynamisch schalen inschakelen
Dynamisch schalen is standaard ingeschakeld voor alle Azure Cosmos DB-accounts die zijn gemaakt na 25 september 2024. Klanten die deze functie voor hun oudere accounts willen inschakelen, kunnen dit programmatisch doen via Azure PowerShell/CLI/REST API of vanuit het deelvenster functies van Azure Portal, zoals wordt weergegeven:
Navigeer naar uw Azure Cosmos DB-account in Azure Portal.
Navigeer naar de pagina Functies .
Zoek en schakel de functie Dynamisch schalen (per regio en automatische schaalaanpassing per partitie) in.
Belangrijk
De functie is ingeschakeld op accountniveau, zodat alle containers voor automatische schaalaanpassing en gedeelde doorvoerdatabases binnen het account automatisch van deze mogelijkheid worden voorzien. Het inschakelen van deze functie heeft geen invloed op resources in het account waarvoor handmatige doorvoer wordt gebruikt. Handmatige resources moeten worden gewijzigd om ze automatisch schaalbaar te maken, zodat er geprofiteerd kan worden van dynamische schaalaanpassingen. Het inschakelen van deze functie heeft geen downtime of invloed op de prestaties. Deze functie is niet van toepassing op serverloze accounts. Deze functie wordt ondersteund in alle clouds.
Metrische gegevens bewaken
U kunt de volgende metrische gegevens gebruiken om automatische schaalaanpassing en dynamische schaalaanpassing te bewaken:
Naam van de metriek | Definitie | Metrische gegevensgebruik |
---|---|---|
Geprovisioneerde doorvoer | Geeft de hoogste geaggregeerde RU/s weer die gedurende het uur zijn geschaald, en vertegenwoordigt het totale aantal RU/s dat voor het uur is geschaald. | U kunt de Provisioned Throughput metrische gegevens gebruiken om de RU/s te zien waarvoor u in elk uur wordt gefactureerd. Met automatische schaalaanpassing wordt u gefactureerd op basis van de meest actieve partitie voor elk uur en wordt hetzelfde toegepast op alle partities en regio's. Met dynamische automatische schaalaanpassing wordt u gefactureerd voor de hoogste gecombineerde RU/s per uur op elk partitie- en regiouur. |
Genormaliseerd RU-verbruik | Deze metrische waarde vertegenwoordigt de verhouding tussen verbruikte RU/s en ingerichte RU/s op elk partitie- en regioniveau. | Gebruik deze metrische waarde om te bepalen of de maximale doorvoer voor automatische schaalaanpassing onder- of overgeconfigureerd is. Als de metrische waarde consistent 100% is en uw toepassing snelheidsbeperking ziet (foutcode 429), hebt u mogelijk meer RU/s nodig. Als deze metrische waarde daarentegen laag is en er geen snelheidsbeperking is, is er mogelijk ruimte om de RU/s te optimaliseren en omlaag te schalen. Meer informatie over het interpreteren en opsporen van fouten in code 429-frequentiebeperking. De Normalized RU Consumption metriek weerspiegelt de RU/s die in de secundaire regio worden gebruikt door schrijfreplicatieverkeer vanuit de primaire regio, naast eventueel leesverkeer op de secundaire regio. |
Automatisch geschaalde RU | Toont de dynamisch geschaalde ingerichte doorvoer op elk partitie- en regioniveau alleen voor accounts met dynamische automatische schaalaanpassing. | Gebruik deze metrische waarde om te zien hoe partities in elke regio onafhankelijk worden geschaald op basis van hun gebruik. Gebruik metrische gegevens - Autoscaled RU van Azure Monitor om te analyseren hoe de nieuwe automatische schaalaanpassing wordt toegepast op partities en regio's. Filter op het gewenste databaseaccount en de gewenste container, en filter of splits vervolgens op basis van de Physical PartitionID-metriek. Deze metrische waarde toont alle partities in hun verschillende regio's. |
Belangrijk
Het is raadzaam om de systeemeigen dynamische schaalmogelijkheden van Azure Cosmos DB te gebruiken om uw capaciteit te beheren. Indien nodig kunnen de metrische gegevens voor genormaliseerd RU-verbruik in Azure Monitor echter worden gebruikt om programmatische schaalbeslissingen te nemen. Andere methoden, zoals het gebruik van de aanroep ReadThroughputAsync() in de Azure Cosmos DB SDK's om de ProvisionedThroughput op te halen, of het gebruik van ProvisionedThroughput in Azure Monitor worden niet aanbevolen en leiden tot onjuiste resultaten. Deze metrische gegevens vertegenwoordigen gefactureerde doorvoer met een vertraging en mogen niet worden gebruikt voor het schalen van beslissingen.
Vergelijking: containers die zijn geconfigureerd met handmatige versus automatische schaalaanpassing van doorvoer
Zie deze documentatie voor meer informatie over het kiezen tussen standaarddoorvoer (handmatig) en automatische schaalaanpassing.
Containers met standaarddoorvoer (handmatig) | Containers met automatische doorvoerschaal | |
---|---|---|
Ingerichte doorvoer (RU/s) | Handmatig toegewezen. | Automatisch en onmiddellijk geschaald op basis van de gebruikspatronen van workloads. |
Snelheidsbeperking van aanvragen/bewerkingen (429) | Dit kan gebeuren als het verbruik de ingerichte capaciteit overschrijdt. | Dit gebeurt niet als u RU/s verbruikt binnen het autoschaalbare bereik zoals geconfigureerd. |
Capaciteitsplanning | U moet capaciteitsplanning uitvoeren en de exacte doorvoer instellen die u nodig hebt. | Het systeem zorgt automatisch voor capaciteitsplanning en capaciteitsbeheer. |
Prijzen | U betaalt voor de handmatig ingerichte RU/s per uur met behulp van het standaard (handmatige) RU/s per uurtarief. | U betaalt per uur voor de hoogste RU/s waarnaar het systeem binnen het uur is opgeschaald. Voor accounts met één schrijfregio betaalt u per uur voor de RU/s die worden gebruikt volgens het autoschaal-tarief van RU/s per uur. Voor accounts met meerdere schrijfregio's worden geen extra kosten in rekening gebracht voor automatische schaalaanpassing. U betaalt voor de doorvoer die per uur wordt gebruikt tegen hetzelfde tarief voor schrijf-RU/s voor meerdere regio's per uur. |
Het meest geschikt voor workloadtypen | Voorspelbare en stabiele workloads | Onvoorspelbare en variabele workloads |
Door gebruikers gedefinieerde doorvoer migreren naar automatische schaalvergroting
Gebruikers die een groot aantal resources willen migreren van standaard ingerichte doorvoer naar automatische schaalaanpassing, kunnen een Azure CLI-script gebruiken om elke doorvoerresource in een Azure-abonnement te migreren naar automatische schaalaanpassing.
Volgende stappen
- Bekijk de veelgestelde vragen over automatische schaalaanpassing.
- Meer informatie over het kiezen tussen handmatige en automatische schaalaanpassing van doorvoer.
- Meer informatie over het inrichten van doorvoer voor automatische schaalaanpassing voor een Azure Cosmos DB-database of -container.
- Meer informatie over partitionering in Azure Cosmos DB.
- Wilt u capaciteitsplanning uitvoeren voor een migratie naar Azure Cosmos DB? U kunt informatie over uw bestaande databasecluster gebruiken voor capaciteitsplanning.
- Als alles wat u weet het aantal vCores en servers in uw bestaande databasecluster is, leest u meer over het schatten van aanvraageenheden met behulp van vCores of vCPU's
- Als u typische aanvraagtarieven voor uw huidige databaseworkload kent, leest u meer over het schatten van aanvraageenheden met behulp van azure Cosmos DB-capaciteitsplanner