Berekenings- en opslagconfiguraties voor Azure Cosmos DB voor MongoDB vCore-clusters
VAN TOEPASSING OP: MongoDB vCore
Rekenresources worden geleverd als vCores, die de logische CPU van de onderliggende hardware vertegenwoordigen. De opslaggrootte voor het inrichten verwijst naar de capaciteit die beschikbaar is voor de shards in uw cluster. De opslag wordt gebruikt voor databasebestanden, tijdelijke bestanden, transactielogboeken en de databaseserverlogboeken. U kunt de reken- en opslaginstellingen onafhankelijk selecteren. De geselecteerde reken- en opslagwaarden zijn van toepassing op elke shard in het cluster.
Compute in Azure Cosmos DB voor MongoDB vCore
De totale hoeveelheid RAM in één shard is gebaseerd op het geselecteerde aantal vCores.
Clusterlaag | vCores | Eén shard, GiB RAM |
---|---|---|
M25 | 2 (burstable) | 8 |
M30 | 2 | 8 |
M40 | 4 | 16 |
M50 | 8 | 32 |
M60 | 16 | 64 |
M80 | 32 | 128 |
M200 | 64 | 256 |
Opslag in Azure Cosmos DB voor MongoDB vCore
De totale hoeveelheid opslagruimte die u inricht, definieert ook de I/O-capaciteit die beschikbaar is voor elke shard in het cluster.
Opslaggrootte, GiB | Maximum IOPS |
---|---|
32 | 3,500† |
64 | 3,500† |
128 | 3,500† |
256 | 3,500† |
512 | 3,500† |
1024 | 5.000 |
2048 | 7500 |
4,095 | 7500 |
8192 | 16.000 |
16,384 | 18.000 |
32.767 | 20,000 |
† Maximale IOPS met vrije schijf-bursting. Opslag tot 512 GiB inclusief wordt geleverd met gratis schijf-bursting ingeschakeld.
IOPS maximaliseren voor uw reken-/opslagconfiguratie
Elke rekenconfiguratie heeft een IOPS-limiet die afhankelijk is van het aantal vCores. Zorg ervoor dat u de rekenconfiguratie voor uw cluster selecteert om volledig gebruik te maken van IOPS in de geselecteerde opslag.
Opslaggrootte | Opslag-IOPS, tot | Minimale rekenlaag | Minimale vCores |
---|---|---|---|
Maximaal 0,5 TiB | 3,500† | M30 | 2 vCores |
1 TiB | 5.000 | M40 | 4 vCores |
2 TiB | 7500 | M50 | 8 vCores |
4 TiB | 7500 | M50 | 8 vCores |
8 TiB | 16.000 | M60 | 16 vCores |
16 TiB | 18.000 | M60 | 16 vCores |
32 TiB | 20,000 | M60 | 16 vCores |
† Maximale IOPS met vrije schijf-bursting. Opslag tot 512 GiB inclusief wordt geleverd met gratis schijf-bursting ingeschakeld.
Als u bijvoorbeeld 8 TiB opslagruimte per shard of meer nodig hebt, moet u 16 vCores of meer selecteren voor de rekenconfiguratie van het knooppunt. Met deze selectie kunt u het IOPS-gebruik dat wordt geleverd door de geselecteerde opslag maximaliseren.
Overwegingen voor berekening en opslag
Aandachtspunten voor werkset en geheugen
In Azure Cosmos DB voor MongoDB vCore verwijst de werkset naar het gedeelte van uw gegevens dat vaak wordt geopend en gebruikt door uw toepassingen. Het bevat zowel de gegevens als de indexen waarnaar regelmatig wordt gelezen of geschreven tijdens de typische bewerkingen van de toepassing. Het concept van een werkset is belangrijk voor prestatieoptimalisatie omdat MongoDB, net als veel databases, het beste presteert wanneer de werkset in ram-geheugen past.
Als u uw MongoDB-databasewerkset wilt definiëren en begrijpen, moet u rekening houden met de volgende onderdelen:
- Veelgebruikte gegevens: deze gegevens bevatten documenten die uw toepassing regelmatig leest of bijwerken.
- Indexen: indexen die worden gebruikt in querybewerkingen maken ook deel uit van de werkset, omdat ze in het geheugen moeten worden geladen om snelle toegang te garanderen.
- Gebruikspatronen van toepassingen: door de gebruikspatronen van uw toepassing te analyseren, kunt u bepalen welke delen van uw gegevens het vaakst worden geopend.
Door de werkset in ram-geheugen te behouden, kunt u tragere I/O-bewerkingen van de schijf minimaliseren, waardoor de prestaties van uw MongoDB-database worden verbeterd. Als u merkt dat uw werkset het beschikbare RAM-geheugen overschrijdt, kunt u overwegen uw gegevensmodel te optimaliseren, meer RAM-geheugen toe te voegen of sharding te gebruiken om de gegevens over meerdere knooppunten te distribueren.
Optimale configuratie voor een workload kiezen
Het bepalen van de juiste reken- en opslagconfiguratie voor uw Azure Cosmos DB voor MongoDB vCore-workload omvat het evalueren van verschillende factoren met betrekking tot de vereisten en gebruikspatronen van uw toepassing. De belangrijkste stappen en overwegingen voor het bepalen van de optimale configuratie zijn:
Inzicht in uw workload
- Gegevensvolume: Schat de totale grootte van uw gegevens, inclusief indexen.
- Lees-/schrijfverhouding: bepaal de verhouding tussen leesbewerkingen en schrijfbewerkingen.
- Querypatronen: Analyseer de typen query's die uw toepassing uitvoert. Eenvoudige leesbewerkingen, complexe aggregaties.
- Gelijktijdigheid: beoordeel het aantal gelijktijdige bewerkingen dat uw database moet verwerken.
Huidige prestaties bewaken
- Resourcegebruik: gebruik bewakingshulpprogramma's om CPU, geheugen, schijf-I/O en netwerkgebruik bij te houden voordat u uw workload verplaatst naar Azure en metrische gegevens bewaakt zodra u uw MongoDB-workload gaat uitvoeren op een Azure Cosmos DB voor MongoDB vCore-cluster.
- Metrische gegevens over prestaties: bewaak belangrijke prestatiegegevens, zoals latentie, doorvoer en verhoudingen voor cachetreffers.
- Knelpunten: identificeer eventuele bestaande knelpunten in de prestaties, zoals hoog CPU-gebruik, geheugendruk of trage schijf-I/O.
Resourcevereisten schatten
- Geheugen: Zorg ervoor dat uw werkset (vaak gebruikte gegevens en indexen) in het RAM-geheugen past. Als de grootte van uw werkset groter is dan het beschikbare geheugen, kunt u meer RAM toevoegen of uw gegevensmodel optimaliseren.
- CPU: Kies een CPU-configuratie die uw querybelasting en gelijktijdigheidsvereisten kan verwerken. Cpu-intensieve workloads vereisen mogelijk meer kernen. Gebruik het metrische gegeven CPU-percentage met max-aggregatie op uw Azure Cosmos DB voor MongoDB vCore-cluster om historische rekengebruikspatronen te bekijken.
- Opslag-IOPS: selecteer opslag met voldoende IOPS om uw lees- en schrijfbewerkingen af te handelen. Gebruik de metrische waarde 'IOPS' met max-aggregatie in uw cluster om het IOPS-gebruik van historische opslag te bekijken.
- Netwerk: zorg voor voldoende netwerkbandbreedte voor het afhandelen van gegevensoverdracht tussen uw toepassing en de database, met name voor gedistribueerde instellingen. Zorg ervoor dat u de host voor uw MongoDB-toepassing hebt geconfigureerd ter ondersteuning van versnelde netwerktechnologieën zoals SR-IOV.
Schaal op de juiste manier
- Verticaal schalen: rekenkracht/RAM omhoog en omlaag schalen en opslag omhoog schalen.
- Compute: Verhoog de vCore/RAM op een cluster als voor uw workload een tijdelijke toename is vereist of vaak meer dan 70% van het CPU-gebruik voor langere perioden is overschreden.
- Zorg ervoor dat u over de juiste gegevensretentie beschikt in uw Azure Cosmos DB voor MongoDB vCore-database. Met retentie kunt u onnodig opslaggebruik voorkomen. Bewaak het opslaggebruik door waarschuwingen in te stellen voor de metrische gegevens 'Opslagpercentage' en/of 'Gebruikte opslag' met de aggregatie Max. Overweeg om de opslag te verhogen naarmate uw workload 70% gebruik overschrijdt.
- Horizontaal schalen: Overweeg om meerdere shards voor uw cluster te gebruiken om uw gegevens te distribueren over meerdere Azure Cosmos DB voor MongoDB vCore-knooppunten voor prestatieverbeteringen en beter capaciteitsbeheer naarmate uw workload groeit. Dit is vooral handig voor grote gegevenssets (meer dan 2-4 TiB) en toepassingen met hoge doorvoer.
- Verticaal schalen: rekenkracht/RAM omhoog en omlaag schalen en opslag omhoog schalen.
Testen en herhalen
- Benchmarking: Voer metingen uit voor de meestgebruikte query's met verschillende configuraties om de impact op de prestaties te bepalen. Cpu/RAM en IOPS-metrische gegevens en benchmarking op toepassingsniveau gebruiken.
- Belastingstests: voer belastingtests uit om productieworkloads te simuleren en de prestaties van uw gekozen configuratie te valideren.
- Continue bewaking: bewaak uw Azure Cosmos DB voor MongoDB vCore-implementatie continu en pas de resources zo nodig aan op basis van veranderende workloads en gebruikspatronen.
Door deze factoren systematisch te evalueren en uw configuratie continu te bewaken en aan te passen, kunt u ervoor zorgen dat uw MongoDB-implementatie goed is geoptimaliseerd voor uw specifieke workload.
Overwegingen voor opslag
Het bepalen van de juiste opslaggrootte voor uw workload omvat verschillende overwegingen om optimale prestaties en schaalbaarheid te garanderen. Hier volgen overwegingen voor de opslaggrootte in Azure Cosmos DB voor MongoDB vCore:
Gegevensgrootte schatten:
- Bereken de verwachte grootte van uw Azure Cosmos DB voor MongoDB vCore-gegevens. Overwegen:
- Huidige gegevensgrootte: als u migreert vanuit een bestaande database.
- Groeipercentage: Schat in hoeveel gegevens er in de loop van de tijd worden toegevoegd.
- Documentgrootte en -structuur: Inzicht in uw gegevensschema en documentgrootten, omdat deze van invloed zijn op de opslagefficiëntie.
- Bereken de verwachte grootte van uw Azure Cosmos DB voor MongoDB vCore-gegevens. Overwegen:
Factor in indexen:
- Azure Cosmos DB voor MongoDB vCore maakt gebruik van indexen voor efficiënte query's. Indexen verbruiken extra schijfruimte.
- Maak een schatting van de grootte van indexen op basis van:
- Aantal indexen.
- Grootte van geïndexeerde velden.
Prestatieoverwegingen:
- Schijfprestaties zijn van invloed op databasebewerkingen, met name voor werkbelastingen die niet in het RAM-geheugen passen. Overwegen:
- I/O-doorvoer: IOPS, of invoer-/uitvoerbewerkingen per seconde, is het aantal aanvragen dat in één seconde naar opslagschijven wordt verzonden. De grotere opslagruimte wordt geleverd met meer IOPS. Zorg voor voldoende doorvoer voor lees-/schrijfbewerkingen. Gebruik de metrische waarde 'IOPS' met 'Max' om gebruikte IOPS in uw cluster te bewaken.
- Latentie: Latentie is de tijd die een toepassing nodig heeft om één aanvraag te ontvangen, naar opslagschijven te verzenden en het antwoord naar de client te verzenden. Latentie is een kritieke meting van de prestaties van een toepassing, naast IOPS en doorvoer. Latentie wordt grotendeels gedefinieerd door het type opslag dat wordt gebruikt en de opslagconfiguratie. In een beheerde service, zoals Azure Cosmos DB voor MongoDB, wordt de snelle opslag, zoals Premium SSD-schijven, gebruikt met instellingen die zijn geoptimaliseerd om de latentie te verminderen.
- Schijfprestaties zijn van invloed op databasebewerkingen, met name voor werkbelastingen die niet in het RAM-geheugen passen. Overwegen:
Toekomstige groei en schaalbaarheid:
- Plannen voor toekomstige behoeften voor gegevensgroei en schaalbaarheid.
- Wijs meer schijfruimte toe dan de huidige behoeften om groei mogelijk te maken zonder frequente opslaguitbreidingen.
Voorbeeld van berekening:
- Stel dat de initiële gegevensgrootte 500 GiB is.
- Met indexen kan het groeien tot 700 GiB.
- Als u verwacht dat de gegevens in twee jaar worden verdubbeld, plan dan 1,4 TiB (700 GiB * 2).
- Voeg een buffer toe voor overhead-, groei- en operationele behoeften.
- Misschien wilt u vandaag beginnen met 1 TiB-opslag en deze opschalen naar 2 TiB zodra de grootte groter is dan 800 GiB.
Het bepalen van de opslaggrootte omvat een combinatie van het schatten van de huidige en toekomstige gegevensbehoeften, het overwegen van indexering en compressie en het waarborgen van adequate prestaties en schaalbaarheid. Regelmatige bewaking en aanpassing op basis van werkelijke gebruiks- en groeitrends zijn ook van cruciaal belang voor het handhaven van optimale MongoDB-prestaties.