Delen via


Problemen met geo-replicatie en redo-vertraging oplossen

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 > 0 en groeit en secondary_lag_seconds toeneemt.

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: