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.
Applies to:Azure SQL Database
Bij actieve geo-replicatie ontvangt en past de geo-secundaire replica continu transactielogboekrecords van de primaire replica toe. Wanneer de secundaire replica logboeken niet zo snel kan toepassen als de primaire replica ze genereert, ontstaat er een werkachterstand (redo queue) en neemt de tijdsvertraging toe (redo-vertraging). Deze situatie kan van invloed zijn op de leesbaarheidsversheid op de secundaire server en de failovertijd verlengen.
- Wachtrij voor heruitvoer: het volume van transactielogboekrecords dat door geo-replicatie naar de secundaire instantie wordt verzonden, maar nog niet is toegepast.
- Redo-vertraging: is de verstreken tijd tussen transactiecommit op de primaire en voltooiing van replay op de secundaire.
Geo-replicatie wordt asynchroon uitgevoerd. Vertraging bij opnieuw uitvoeren op de secundaire replica veroorzaakt geen wachttijden op de primaire replica, maar de vertraging bij opnieuw uitvoeren kan ertoe leiden dat gegevens op de secundaire replica achterblijven.
Symptomen
- Verouderde gegevens op de secundaire voor alleen-lezen workloads (rapportage, analyse of uitbestede leesbewerkingen).
- Langere failovertijd, waardoor Recovery Time Objective (RTO) wordt verhoogd.
- Aanhoudende druk op de hulpbronnen van de secundaire server, waardoor het vermogen om bij te werken wordt verminderd.
- Bevestig de hervertraging in de DMV-sys.dm_database_replica_states, als
redo_queue_size > 0en groeit ensecondary_lag_secondstoeneemt.
Waarom de herwerkenachterstand groeit
Hoewel de secundaire database het kenmerk Alleen-lezen heeft, wordt er nog steeds een transactielogboek bijgehouden voor interne bewerkingen, waaronder het opnieuw afspelen van logboekrecords van de primaire database. Wanneer de redo-wachtrij groeit, moet de secundaire meer transactieloggegevens bewaren.
Deze situatie kan leiden tot:
- Groei van transactielogboeken op de secundaire.
- Hoger opslagverbruik, wat van invloed kan zijn op de kosten en prestaties.
- Mogelijke snelheidsbeperkingsscenario's wanneer drempelwaarden worden overschreden.
Invloed van de grootteverschil van replica's
U moet de primaire en geo-secundaire replica configureren met dezelfde serviceniveaudoelstelling (SLO), redundantie van back-upopslag, rekenlaag (ingericht of serverloos) en rekengrootte (DTU's of vCores).
Als u een secundaire database configureert met een lagere rekenkracht dan de primaire database, kunt u het volgende ervaren:
- Resourceconflicten op de secundaire bronnen (CPU, I/O), waardoor herstelbewerkingen worden vertraagd.
- Het is niet mogelijk om de generatiesnelheid van het transactielogboek van de primaire database bij te houden.
- De verhoogde grootte van de redo-wachtrij neemt de vertraging toe en vermindert de effectiviteit van de replicatie.
Aanbevelingen
Om de vertraging bij het opnieuw uitvoeren te verminderen en de replicatiestatus en het efficiƫnte gebruik van logboeken op de secundaire te behouden:
Slo- en rekengrootten uitlijnen. Zorg ervoor dat de secundaire database dezelfde prestatielaag heeft als de primaire database.
- Geo-secundair configureren: Actieve geo-replicatie
- Een enkele database schalen: Schalen van middelen voor een enkele database in Azure SQL Database
- Een elastische pool schalen: Elastische poolresources schalen in Azure SQL Database
- Kostenoverwegingen: Plan en beheer de kosten voor Azure SQL Database
Controleer regelmatig. Gebruik dynamische beheerweergaven (DMV's), zoals sys.dm_database_replica_states om de vertraging en de wachtrijgrootte bij te houden. Redo-vertraging wordt bevestigd wanneer
redo_queue_size > 0groeit ensecondary_lag_secondstoeneemt.Workloads optimaliseren:
- Verminder langlopende transacties op de secundaire en hoge logboekgeneratiepieken op de primaire.
- Vermijd grote indexheropbouwen tijdens piektijden. Herbouwacties kunnen schemawijzigingsvergrendelingen (SCH-M) verkrijgen, waardoor de redo-thread op de secundaire kan worden geblokkeerd en kan bijdragen aan een ophoping van de redo-wachtrij.
- Verminder langlopende transacties op de secundaire en hoge logboekgeneratiepieken op de primaire.