Intelligent afstemmen in Azure Database for PostgreSQL flexibele server

Azure Database for PostgreSQL flexibele server bevat een intelligente afstemmingsfunctie waarmee de prestaties automatisch worden verbeterd en problemen worden voorkomen. Intelligent afstemmen bewaakt continu de status van uw Azure Database for PostgreSQL flexibele serverdatabase en past de database dynamisch aan uw workload aan.

Deze functie bevat twee functies voor automatisch afstemmen:

  • Autovacuum afstemmen: deze functie is afgeschaft en vervangen door het nieuwere adaptieve autovacuum.
  • Schrijfbewerkingen afstemmen: met deze functie worden het volume en de patronen van schrijfbewerkingen bewaakt. Hiermee worden parameters gewijzigd die van invloed zijn op de schrijfprestaties. Deze aanpassingen verbeteren zowel de systeemprestaties als de betrouwbaarheid en het proactief voorkomen van potentiële complicaties.

Meer informatie over het configureren van intelligente afstemming.

Waarom intelligente afstemming gebruiken?

Schrijfbewerkingen in de database afstemmen is een essentieel onderdeel van het onderhouden van de status en prestaties van een Azure Database for PostgreSQL flexibele server. Databasebeheerders voeren deze taak doorgaans uit. Het kan lastig en tijdrovend zijn om voortdurend een database te bewaken en schrijfbewerkingen af te stemmen. Deze taak wordt steeds complexer wanneer u te maken hebt met meerdere databases.

Intelligent afstemmen vereenvoudigt dit proces. In plaats van uw database handmatig te controleren en af te stemmen, gebruikt u intelligente afstemming om de database automatisch te controleren en af te stemmen. Vervolgens kunt u zich richten op andere belangrijke taken.

De functie voor het afstemmen van schrijfbewerkingen bekijkt de hoeveelheid en transactionele patronen van schrijfbewerkingen. Het past parameters zoals bgwriter_delay, checkpoint_completion_target, max_wal_size, en min_wal_size intelligent aan. Hierdoor worden de systeemprestaties en betrouwbaarheid verbeterd, zelfs onder hoge schrijfbelastingen.

Wanneer u intelligente afstemming gebruikt, bespaart u waardevolle tijd en resources door te vertrouwen op uw Azure Database for PostgreSQL flexibele server om de optimale prestaties van uw databases te behouden.

Hoe werkt intelligente afstelling?

Intelligent afstemmen is een doorlopend bewakings- en analyseproces dat meer te weten komt over de kenmerken van uw workload. Ook worden uw huidige belasting en resourcegebruik bijgehouden, zoals CPU of IOPS. De normale bewerkingen van uw toepassingsworkload worden niet verstoord.

Met het proces kan de database dynamisch worden aangepast aan uw workload door de huidige schrijfprestaties en de efficiëntie van controlepunten op uw server te onderscheiden. Met behulp van deze inzichten implementeert intelligent afstemmen acties die de prestaties van uw workload verbeteren en potentiële valkuilen voorkomen.

Afstemming van schrijfbewerkingen

Met intelligent afstemmen worden vier parameters met betrekking tot het afstemmen van schrijfbewerkingen aangepast: bgwriter_delay, checkpoint_completion_target, max_wal_sizeen min_wal_size.

De bgwriter_delay parameter bepaalt hoe vaak het achtergrondschrijverproces wakker wordt voor het opschonen van 'vuile' buffers (buffers die nieuw of gewijzigd zijn). Het achtergrondschrijverproces is een van de drie processen in een Azure Database for PostgreSQL flexibele server die schrijfbewerkingen verwerkt. De andere processen zijn het controlepuntproces en back-end-schrijfbewerkingen (standaardclientprocessen, zoals toepassingsverbindingen).

De primaire rol van het achtergrondschrijverproces is het verlichten van de belasting van het belangrijkste controlepuntproces en het verminderen van de belasting van back-end-schrijfbewerkingen. De bgwriter_delay parameter bepaalt de frequentie van achtergrondschrijverrondes. Door deze parameter aan te passen, kunt u ook de prestaties van DML-query's (Data Manipulation Language) optimaliseren.

De checkpoint_completion_target parameter maakt deel uit van het tweede schrijfmechanisme dat een Azure Database for PostgreSQL flexibele server ondersteunt, met name het controlepuntproces. Controlepunten vinden plaats met constante intervallen die checkpoint_timeout definiëren (tenzij geforceerd door het overschrijden van de geconfigureerde ruimte). Om te voorkomen dat het I/O-systeem overbelast raakt met schrijfbewerkingen op pagina's, wordt het schrijven van vuile buffers tijdens een controlepunt verspreid over een bepaalde periode. De parameter checkpoint_completion_target bepaalt deze duur door checkpoint_timeout te gebruiken om de duur op te geven als een fractie van het interval tussen controlepunten.

De standaardwaarde checkpoint_completion_target is 0,9 (sinds PostgreSQL 14). Deze waarde werkt over het algemeen het beste, omdat deze de I/O-belasting over de maximale periode verspreidt. In zeldzame gevallen kunnen checkpoints mogelijk niet op tijd worden voltooid door onverwachte fluctuaties in het aantal vereiste Write-Ahead Logging-segmenten (WAL). Mogelijke impact op prestaties is de reden waarom checkpoint_completion_target een doelmetriek voor intelligente afstemming is.

Beperkingen en bekende problemen

  • Intelligente afstemming voert optimalisaties alleen in bepaalde bereiken uit. Het is mogelijk dat de functie geen wijzigingen aanbrengt.
  • Met intelligent afstemmen worden de instellingen niet aangepast ANALYZE .